Transient component is still saved/loaded

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.