I don't think you can host your own html on Google Sites this in any way that I know of. I tried importing an html file as an "attachment" (this is what Google Sites seem to call any files intended for site visitors to download). Here is the screenshot:
Looks like they actively don't want you to use the service this way.
If you want to host a basic site for free, there are several site builders out there (including Google Sites) that let you do this. I checked out the one I use (weebly) and it seems they don't let you load an uploaded html page as a normal page either. Looks like preventing people from uploading content not created via the site builder itself. One workaround might be creating a blank template & uploading all content via the "custom html" tag.
This isn't what free site builders are intended for though & may not work forever. If you want to host an actual site, you'd probably be better off with something built for that purpose.