Thank you for posting your question. I think that there are two possible ways of how you can achieve the self-hosted results for your login-page.
The first one that I would probably recommend is to try the Advanced Customization for Universal Login (ACUL) which is currently in Early Access stage:
Advanced Customizations flow
Your developers can build custom interfaces for specific Universal Login screens using your preferred front-end tech stack (such as React, Angular, or Vue) and any internal design systems, component libraries, or third-party CSS/Javascript.
Your CI/CD pipeline then bundles those interfaces and deploys them to your content delivery network (CDN).
Developers use the Auth0 Management API to configure an advanced rendering mode for specific Universal Login screens and provide links to your CDN-hosted asset bundles.
When users authenticate, Universal Login determines which screen to show and the proper rendering mode for the requested screen.
If the current screen is not configured to use advanced rendering mode, Universal Login defaults to the regular Universal Login interface, including any customizations you made to the default interface.
If the current screen is configured to use advanced rendering mode, Universal Login returns the advanced rendering mode page template.
When submitting data from custom interfaces, the server expects the data to be submitted via a POST request to the same page as url-encoded form data using the content-type application/x-www-form-urlencoded. Sending JSON results in an error.
The server validates the submitted data. If there are any errors, the server returns the current screen and includes the errors in the context object. If there are no errors, the server determines which screen to show next and reviews the rendering mode for it.