To host a shared Blazor Custom Elements app on a different domain, you can deploy the Blazor app as a standalone web app and reference it from other applications using the script tag. However, as you mentioned, the relative paths in the blazor.webassembly.js script will be relative to the page which is loaded from the other app. One way to solve this issue is to use absolute URLs in the script tags that reference the Blazor app. Another way is to use a CDN to host the Blazor app and reference it from other applications using the CDN URL. This way, the relative paths in the blazor.webassembly.js script will be relative to the CDN URL, which will be the same for all applications that reference the Blazor app.
Regarding your specific use case, you can deploy the Blazor app as a standalone web app in Azure and expose some of its components as custom elements. Then, you can reference these custom elements from other applications using the script tag. However, since you do not have control over the portal's repository and deployment, you cannot push the published files to their repo or deployment. In this case, you can use a CDN to host the Blazor app and reference it from the portal using the CDN URL. This way, you can update the Blazor app independently of the portal and all applications that reference it will get the latest version from the CDN.