You can almost bet your bottom dollar that in a situation like this the router is the problem. Lots of devices can't handles you making a request to the outside interface of the device and NAT'ing back inside. I find it more common in firewalls to be honest though (maybe your router is a firewall also?).
There isn't a lot you can do about if it that's true, in stead just change the IP address of your internal DNS record to point to the internal IP address of your web server. It seems silly to me to have it internally giving the external IP address. You will loose connectivity to your internal web server if your router crapped out because you would be trying to tap up your default gateway for a route the the web server right next to you.