Ok I got it working now.
Here are all the parts, (I include the firewall rules too for the full task):
NAT
Port Forward:
If Proto Src. addr Src. ports Dest. addr Dest. ports NAT IP NAT Ports Description
WAN TCP public_remote_client * WAN Address 80 remote_server 80 NAT 80 to remote server
(or a virtual IP, across VPN
in my case I DID)
Outbound NAT:
(this first rule has Do Not NAT checked)
If Source Src. ports Dest. addr Dest. ports NAT Addr NAT Port Description
OpenVPN remote * * * * * Do Not NAT
network for remote subnet
subnet across VPN
across
VPN
If Source Src. ports Dest. addr Dest. ports NAT Addr NAT Port Description
OpenVPN any * remote_server 80 * * NAT for remote_server
across VPN on remote subnet across VPN
Firewall
rule for public facing interface, (ie: WAN) for public_remote_client to pass to remote_server across VPN:
ID Proto Source Port Destination Port Gateway Queue Schedule Description
TCP public_remote_client * remote_server 80 * none Pass traffic to remote_server
across VPN
And the final part for my saga…
On the remote router across the VPN (siteB), I firewall the LAN interface there. I needed to allow the "remote_server across VPN" to be able to talk to the VPN subnet. I used a /30 netmask for 4 hosts, 2 usable since it's just a site-to-site, IE: 10.8.8.0/30.
So a firewall rule for that would look like this:
ID Proto Source Port Destination Port Gateway Queue Schedule Description
TCP remote_server * OpenVPN subnet * * none Allow remote_server across VPN
across VPN Reply back to OpenVPN subnet.
Hope this helps someone, it sucked for a couple days. Thanks cmb and Jimp!
The post doesn't look very good without a decent size LCD as it gets smashed on more lines and goes out of whack, fyi.