Are you expecting a public IPv4 from a VPN?

Not a whole public IPv4, just one port on it (or a couple). And the public IP should change every reconnect.

A VPN provider could easily support Port Control Protocol / NAT-PMP without giving each VPN client its own public IPv4.

Airvpn does it

I'm happy Airvpn is rarely mentioned in mainstream vpn lists and don't typically mention them myself (sorry airvpn folks, but here's my apology) because I suspect its relative obscurity is in great part the reason it works so well. Not only reputation - it's technologically good too, supports all the payment methods, good prices, lots of exit points, no nonsense. I've been using them continuously for several years.

Yep they are great! Wireguard support on Linux too