I had a similar issue and solved it like this
auto NewShotgunDataComponent = NewObject<UShotgunData>(SelectedActor, FName("ShotgunData"));
NewShotgunDataComponent->RegisterComponent();
SelectedActor->AddInstanceComponent(NewShotgunDataComponent);
The AddInstanceComponent call allowed the component to both show up in the editor and save correctly