This is how the engine does it:
#if WITH_EDITOR && WITH_EDITORONLY_DATA
ProcMesh = CreateEditorOnlyDefaultSubobject<UProceduralMeshComponent>(TEXT("GenMesh"));
#endif
Put this in the constructor, no need to put the property Transient, it wont exist out of the editor.