Anvil is fine for serving custom HTML. As Stefano says, you do not want to put it into Assets, but into a data table and pull the HTML from the data table and display it after you authenticate the user.
Here’s an app that allows you to type HTML into the text box. When you click the button that custom HTML is displayed. If instead you pull the HTML from a data table, you can display that HTML. https://angelic-profitable-outcome.anvil.app
Do note that the HTML should not be a full page (e.g. no html tag, no head tag, no body tag), but just the portion of the HTML you actually care about.
Here’s a clone of the app so you can see how to display custom HTML: Anvil | Login