So the 1 to 1 nat works functionally but I actually want the public IP on the WAN port of the customer's router. Is the only way to do this PPPoe? Or is there some other way to make the public IP available to him?
Not possible unless you waste IPs and only becomes viable if you have a large range i.e. a /24 then you only waste 3/256, but with smaller non contiguous ranges it gets hopelessly inefficient. If you used /30s and you had 5 customers you would waste an additional 15 IP addresses
PPPoE works well cause you can have a customer anywhere in your network. You also do not have to waste an IP address on your own router (10.0.0.0 local and 220.127.116.11 for your customer is perfectly valid) but the drawback to PPPoE is an MTU of 1492 instead of 1500. Probably doesn't matter to 99% of people but if possible I prefer to have at least 1500 the whole way through to avoid fragmentation. Slightly better latency and less CPU usage. Also your routing table gets larger cause there's 1 entry for each connection
The downside to NAT1:1 is explaining to tech people that "yes you are getting 10.2.4.5 but your actual IP is 18.104.22.168" and then inevitably answering their next questions with "yes you can still port forward, no you are not double NAT'd, this is NAT1:1 not PAT/masquerade which you are familiar with, yes you can still run VPNs. No there's no restrictions etc etc"