StructUtils plugin's FInstancedStruct can prevent serializing Blueprint's Class Defaults

Summary: `FInstancedStruct` in a cpp-defined struct in a `TArray` on an actor component defined in C++ and implemented in BP. Populating the instanced struct in an actor BP’s class defaults breaks serialization of the class defaults.

Repro Steps:

  1. Enable plugins: `StructUtils`, `StructUtilsEngine`, and `StructUtilsEditor` (for just the editor)
  2. Define a `USTRUCT(BlueprintType)`, `FMyInstancedStructParent` in cpp.
  3. Put a `UPROPERTY(EditAnywhere)`, `MyProperty`, of type `FInstancedStruct` on that struct.
  4. Create an actor component, `UMyComponent`. Put a `UPROPERTY(EditAnywhere)`, `MyArray`, of type `TArray<FMyInstancedStructParent>` in the component.
  5. Compile and launch editor.
  6. In BP, define a BP struct, `S_MyBPStruct`.
  7. In BP, derive from our actor component (`UMyComponent`), `AC_MyComponent`.
  8. Create a BP actor and add `AC_MyComponent` to it.
  9. In the component’s defaults, add a few items to the array. Don’t populate their `FInstancedStruct` yet.
  10. Save and compile the BP actor.
  11. Observe the array during the BP’s `BeginPlay` (debugger, printf, whatever). Notice that number of items in the array is correct.
  12. Now populate the `FInstancedStruct`s on the array elements with `F_MyBPStruct`.
  13. Save and compile the actor.
  14. Add additional entries to the array and populate their `FInstancedStruct`s.
  15. Save and compile the actor.
  16. Observe BeginPlay again.

Expected behavior: The array has the correct count, and the `FInstancedStruct`s contains the BP struct.

Actual behavior: The array contains only the entries from before the `FInstancedStruct`s were populated.

I considered packing up a project, but I think the repro is fairly simple. And the link in the prompt ([Creating and packaging a repro project for [Content removed] is dead.