It works with all NATs/CGNATs by connecting from the pi over a bidirectional WS connection. PI <-> WS <-> Cloudflare. SSL is done on the cloud, not on the pi.
Install any web server on the pi and "cloudflared" to proxy it.
https://developers.cloudflare.com/cloudflare-one/connections...