I just upgraded from cable to fiber and while I was glad to finally get symmetric, I was shocked that not only do I even not have a public IP, I can't override their DHCP or DNS settings without adding my own double-NAT. Cable had a dynamically assigned public IP and let me use the modem as a bridge.
I am assigned one public IPv4 and a /64 in IPv6 space. My customer-owned router provides IPv4 NAT for all devices behind it; no translation is necessary for devices using IPv6.
My ISP in the UK gave me a /32 and a /29 for IPv4 and a /48 for IPv6. That was 10 years ago. I keep this when I move from DSL to their fibre product. They also offer a L2TP service which could be used to put a Public IPv4 over a CGNAT connection.