Afaik this is not possible with structs, because TArray requires known fixed size, and pointers (other than objects) are not supported.
However you can do this with UObjects. It requires a combination of Instanced
and EditInlineNew
keywords.
Something like this :
Then you can instantiate and customize subojects directly in the Array defaults :