Material editor is just transferring nodes into HLSL code and combining that with MaterialTemplate.USF to get actual final shader code.
I also faced the task of getting per-instance position once, and my journey through docs went nowhere, and answerhub was suggesting that it was not possible. Not being able to get per-instance position seemed more than strange for me and I went on with checking compiled and MaterialTemplate.usf in particular. Inside the file on line 523 I found what I was looking for. I don’t actually think that this is documented anywhere.
If that was of any help for you, please, toss me a vote or something. It would slightly facilitate my road to a forum badge