This could be something NOT related to Vagrant at all. Any comments you get are going to be pure speculation and hypothetical without seeing at least the vagrant config file in question, possibly network info as well.
With that said, let's start with a few questions.
1.) It sounds like you do have port-forwarding setup on the router, correct?
2.) Do you have any port-forwarding from the host machine to the guest machine in the vagrant file?
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
# config.vm.network :forwarded_port, guest: 80, host: 8080
3.) Do you have the guest setup as a public or private host in the vagrant file?
# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
# config.vm.network
ublic_network
Knowing what you have configured for "config.vm.network" would help.
4.) Assuming DNS for the domain does properly resolve to the public IP?
Code:
# nslookup your-domain-name.com
Does this show your proper public IP?
5.) What response do you get when you visit the domain name in a browser? 404 not found?, 50X server error?, 30X not found?, no response at all and it just times out, or does it instantly closes the connection??? What's it doing? Knowing this may help narrow down where/why the packets are getting dropped.