Actor's Uproperty contains null pointer after begin BeginPlay

You shouldn’t create objects in your constructor. Try using BeginPlay() or PostInitializeComponents().

What happens during object construction in UE4 is a whole mystical process to me, and there are tons of threads of people trying to understand it. If you want, I suggest you look into Unreal’s reflection system, how CDOs work, and look into threads trying to demystify the whole process.
Or just use BeginPlay() and leave it for another day.

AActor::OnConstruction() is the native version of the construct script in blueprints, but this case doesn’t seem to want that.

I kept this bookmarked since I was confused by this when I was starting out as well:

UObjects shouldn’t have a specifier of the “Edit” variety either. You should be using VisibleDefaultsOnly.

This video goes through it nicely too.