This is part of the broader problem of coordinating ECS and GameObjects. Generally we say it's preferable for ECS to manipulate GameObjects than the other way around. So ultimately what you want is entities with managed components (classes implementing IComponentData) that contain references to GO's and MB's, e.g.
public class MyComp : IComponentData
{
public GameObject MyHUD;
public UIComponent MyMinimap;
}
Be clear that managed components are relatively inefficient to access and they can't be accessed in Burst-compiled code (but generally you're not dealing with them at great scale anyway, so it's often not a big deal).
The tricky part is how to set up these references in your scenes. In a subscene, you can put a prefab in the GO fields of the managed components, and then at runtime you can instantiate this prefab and store the new instance in a GO field of a managed component. This is the simplest way to hook up an entity with a GO.
Unfortunately, it's much harder to hook up an entity in your subscene with a GO from outside the subscene. Unity has no support for cross-scene references, so you instead have to hook them up at runtime. There's no clear best way to do this, and all solutions are a little ugly. The simplest way is to call methods like GameObject.Find from an init/spawning system. These are very expensive calls, of course, but you normally need to call them once after loading your scene.
It is all admittedly weird, so generally I'd recommend minimizing these entity-GO relationships. Like perhaps you only need one Entity-GO relationship for your entire UI: all communication from ECS to GO-land passes through this one GO.
btw, if you put UI GO's in a subscene, they get baked into entities, but the UI components get ignored by baking (because we have no ECS equivalents). So what actually gets loaded with the scene is a bunch of do-nothing entities.