I believe Cloudflare has a trusted root cert that is distributed with browsers and such, and for tunnels, they generate a signed cert for that hostname interaction, and act as a reverse proxy to your machine when called. This should always show as an HTTPS host, but there must be a mechanism via DNS or something to identify and authorize your host to serve HTTPS, and if that lapses for some reason, I would assume they default to plain HTTP.
I’m just thinking about this logically and having used this particular setup though.