How to get a CDO Actor from its component?

I’m working on a IPropertyTypeCustomization for a struct which lets a user select a related component when editing the struct in editor. The struct saves the component’s name, and then at runtime, does a lookup for that component on its parent actor’s components list (if the struct is on a component) or on its own component list (if it’s on an actor). Basically an enhanced version of FComponentReference, which can no longer be exposed to blueprint in 4.17.

The idea is that the IPropertyTypeCustomization, while it saves an FName internally, will populate a STextComboBox with the names of all the components on the same actor so that the end user doesn’t have to exactly retype the name of the related component they want to reference.

The problem is that I’m running into my old friend, and most hated part of working with the editor in UE4: the fact that the component hierarchy doesn’t exist for CDOs. Actors don’t have child components, and components don’t have owning actors. Since I can’t get the CDO actor, I can’t get the components list, so I can’t get their names.

I’ve worked around the other direction - finding a component on a CDO actor by casting the actor as a BlueprintGeneratedClass and snooping through the SimpleConstructionScript’s nodes. But that seems to be a one-way trip. I’m still digging for a solution but I’m not really seeing anything promising.

Does anyone know of a way to do this?