Yes, I am doing the same thing to pass arrays/maps/sets to C# scripts.
I convert their addresses to an int, store in a struct and send to C#.
Epic would probably kick me in the face for that… but hey, it works:
UPTRINT IntPtr = reinterpret_cast(vHandle);