This is going to be fairly complex to describe, so i made a crude image.
Router A has the majority of Network A's hosts (red).
Router B has the majority of Network B's hosts (green).
OpenVPN is configured on both routers with two instances. One instance for Network A and one for Network B.
In this example i want Host A1 to access the internet through Router A, but if it needs to talk to Host A2 it needs to route that traffic through the vpn tunnel. Conversely i want Host A2 to access the internet through Router B, but use the vpn tunnel to talk to Host A1.
It would seem i can do all of that with proper firewall rules and a standard vpn setup. But the kicker is that i want to keep Host A1 and Host A2 in the same subnet. Imagine running a physical cat5 cable between the two locations. That's how i want the hosts to see it, whereas the vpn / routing handiwork is handled by the routers.
Is this as simple as bridging the tap interfaces with the vlan interface for each network? Will openvpn in this case send all packets across the tunnel and out of the other tap interface which is bridged on that side as well?