Running a local DNS server is just plain ugly (and while I can do it just fine, what I'm proposing is automating this stuff).
Fixing the servers to know about each other just can't be done. Each one of them is inside his respective LAN, which has NAT to the outside. We could put a single server just above them but that would miss the whole point of having the two networks separate (they are supposed to be self contained).