There really isn't anything special about exposing a vm port, just open the port in the windows firewall. With that said, there's a lot I can talk about with what you're doing because I had to do something similar, here's how I did it:
There exists a RabbitMQ docker image in the apps store, I had just posted about it a few days ago here. Running the docker image would be much more resource friendly than a vm, especially a windows vm.
You should have two instances of RabbitMQ, one in each network. RabbitMQ has a great plugin called shovel which pushes messages from a source to destination. It's easy to use and highly reliable. I had tons of issues getting messages across my VPN link for various reasons, but all those issues went away with an extra RabbitMQ instance and the shovel plugin. To add the shovel plugin (and shovel management) to the docker images, just add to the "enabled_plugins" file:
rabbitmq_shovel,rabbitmq_shovel_management
Regardless if you use a vm or docker and regardless if you have one RabbitMQ instance or two, you need a secure and fast way to connect the networks. The obvious choice is WireGuard, but I suggest you also look into Tailscale. There's also a docker image for Tailscale which is super easy to use.
If you continue with the windows vm path, just be sure to open the ports in windows firewall.