As far as I know, if your host goes down, CF will pass the error along to the user. Meaning, in order for Always Online to work, your host has to give CF a standard error code. Your host has to be working.
“In order to trigger Always Online, your web server will need to be returning a standard HTTP Error code of 502 or 504 timeout. Always Online will also work when we encounter issues contacting your origin (Cloudflare Errors 521 & 523), timeouts (522 & 524), SSL errors (525 & 526) or an unknown error (520). Always Online will not be triggered for other HTTP response codes, such as 404s, 500, 503, database connection errors, internal server error, or empty replies from server.”
If your domain is on a paid plan, you can customize CF’s error pages: