OS X Server behind an ADSL router
I've been doing exactly what you describe for 8 years, it works just fine.

I assume you set up Server with your internal IP address, and that it is a fixed IP on the local network? Server does NOT like having it's IP address changed.

The external address can change 10 times a day. You say you already have a domain and a dynamic update service - I assume it's one that updates your domain A record when your external address changes? All good.

Yes, you will have to forward a ton of ports. This is another reason you need a fixed ip address on your LAN. Either forward the ports you need or just DMZ the server ( expose it to the internet ) but mind that the router does not also assign the server the global IP address.

To get an idea of which ports are needed for each service, take a look at TCP and UDP ports used by apple products.