Thanks for your comments. I'm at work now but I can try to share more details on the configuration later.
The more I think about it, the more I think the problem is not on the HAProxy side. HAProxy is returning subdomains correctly on the LAN listener and I created the WAN listener by copying it.
I'm pretty sure I can set my firewall rules so that the incoming WAN traffic lands on the LAN listener and get the same result.
Leads me to believe it's something to do with how my VPN service provider is forwarding the traffic, or my NAT / firewall rule configuration.
I'm not sure how to troubleshoot traffic getting passed, but getting striped of http headers along the way. Believe I am talking about HTTP, haha to the extent of my knowledge. Will have to come back to dig/nslookup. But the domain is resolving correctly.