Not an answer, but TBH, you should reconsider trying to work with UUserDefinedStructs in C++. It’s really not what they’re meant for, and are extremely difficult to access and set data from C++. I went down this road a few months ago trying to build a partially-automated save system, and all I found was failure and stories of other people trying to use these and failing - including people trying to build plugins with code support from Epic. UUserDefinedStructs are horrifyingly complicated beasts.
What I ended up doing was creating a UObject which contained FName-indexed TMaps for each of the common data types. That way, end-users could define custom data they needed to save in editable arrays or via accessors. This data was then either trivially easy to serialize, or in the case of UObjects, I could easily do my own cleanup to convert object pointers into a format which would survive save/load.