Sorry for potentially misleading answer from my side 

No worries at all! Thanks for taking the time to look into the issue and provide a workaround!

Can you please elaborate on this a bit?

.data remains from the time where we had Variable and Tensors. And in that world, it was allowing you to get the Tensor inside the Variable (so the version without any autograd info).
Today where both are the same, it just creates a new Tensor with the autograd info from the original Tensor striped out.
The problem is that no autograd info also means no checking for inplace ops or views! So using such Tensors with other Tensors that actually do autograd can lead to silently wrong gradients!!
So we are in the process of removing it everywhere in our codebase to ensure that we don’t have silently wrong gradients. But users should stop using them as well and replace them with .detach() (that breaks the graph but keep all the essential view/inplace check) or torch.no_grad() to locally disable the autograd.