@cmb:
It's odd because of the way it has to work. It has to match pre-NAT for the traffic to hit the portion of the kernel that's processing the IPsec. But the NAT portion is the only thing you're presenting on the P2 to the remote end. So it has both, hits pre-NAT, gets NATed, gets sent out.
You don't need or want NAT in this case though, just add another phase 2 on both ends matching the tunnel network source.
I'm lazy, so I do want to NAT. :)
The remote end has a box terminating the tunnel, but it is not the default route. So if I wanted to use the OpenVPN block without NAT, I'd have to do another round of static route wrangling to get the return traffic pointed at the remote IPSEC gateway instead of the default internet gateway.