What kind of VPN setup? A VPN between 2 sites would normally mean that both local networks are connected and you shouldn't need an external address - indeed, the whole point is that routing over the VPN is a local route.
The only reason this wouldn't be the case is if you are using a consumer VPN provider at both ends. That is a different kind of VPN (one that lets you appear to be in a different country for example).
Just a thought... Are you sure that all connections to Mosquitto use a unique MQTT Client ID? Otherwise it will kill the existing connection when a different connection is opened with the same Client ID.
You can also just do this. Set up the left side to broker 1 and fill out the topic as Topic/# and the right side set up for broker 2 and leave the topic blank. This will cause everything from broker 1 under topic to be sent to broker 2 under that same topic. It's a great way to aggregate data from a bunch of small brokers on the same subnet to a large broker in the cloud without setting up credentials for each individual smaller broker.