You forgot to add UPROPERTY() to struct variables. UE4 only see things that are marked with those macros, UHT gathers information about them and generate code that register those properties in to reflection system, which you later read out in the this code.
I thought that’s only used for BluePrints, but sure, if you don’t declare it as an UProperty the reflection system won’t see it as an UProperty, so obvious…
All those macros are for reflection system, that why they don’t expose things to blueprints by default there many other specifiers that are not blueprint related, like auto ini config saving or replication