I imagine there is some Cloudflare magic that could take care of this problem (whilst your home webserver running on an alternate port) ?
Yes, using alternative ports does sometimes work. In the past, I had used NoIP or whatever the name was at that point to route incoming from 80 to a non-standard port. CloudFlare could probably do the same, but then have you defeated the goal of self hosting, since you have a provider in front of your site?
Your own server (RasPi?) + pagekite.net will solve this.