> If you are behind NAT or CG-NAT
Of course you can punch holes there. CGNATs can be asked for port forwarding using PCP, unless your ISP disabled that.
Perhaps it's different for a mom & pop ISP, but I don't see the big ones configuring anything that makes it easier to do what they already don't want you doing anyway. They see the inability to forward ports as a feature, not a bug.
So even if you expose your Home Assistant web to the wide web, no ISP is going to have a problem with that and won't interpret it as hosting services. What they really want is that you don't run a bandwidth intensive services on a consumer connection, which is going to be overbooked somewhere in their infra, causing service degradation to other users.
And for example Orange does provide PCP for their CGNAT.
At least not without doing fancy stuff like using an externally-hosted VPN to shuttle connections to you.