Thanks for making my wrong words right.
Yes it will definitely stay as a leaf node.
About the migration part, I read and understand .data could be dangerous so detach() is recommended if in-place is necessary.
But when read it, I thought the part was saying about normal inner node cases. And there might be more critical issue for the leaf node case because pytorch not gave the strict “leaf variable was used …” error in this normal case.
Now it seems I made too much assumption.
Thanks for help!