This is actually what the Azure Portal does [1] for embedding 3rd party applications. They even developed a custom HTML language to describe how to layout applications to give a consistent look.
The downside was the portal started to become slow, and sometimes would have 20+ iframes open.
[1] https://github.com/Azure/portaldocs/blob/main/portal-sdk/gen...