O problema é que o seu gateway não está "propriamente" (questão de opinião) reescrevendo o IP de origem, pois está enviando pacotes NATing para o IP externo (DDNS) do seu servidor interno. Às vezes, isso é chamado de "hairpin NAT" ou "loopback NAT" e este post oferece uma explicação mais completa .
Uma solução (alguns podem dizer que funciona ao redor) para isso é DNS split-horizon para a sua rede interna ( muitos posts sobre isso, incluindo este que pode ajudar ). Ou seja, em vez de confiar no DNS do Google, configure seu próprio servidor DNS localmente que ofereça endereços IP (internos) diferentes para servidores internos. Dessa forma, o tráfego não quer sair para o endereço externo como registrado via DDNS.