Se as dicas que você forneceu em sua pergunta forem alguma coisa, você não pode fazer isso "pela Internet em geral" - a suposição aqui é que você só tem um único endereço IP "real" - como está implícito por seu conselho de que você tem um endereço IP dinâmico e a nomenclatura implicando uma conexão de rede doméstica.
Você pode, no entanto, fazer com que isso funcione sozinho ou em um grupo seleto de pessoas.
Em questão - parece confundir dois sistemas totalmente separados - NAT - que permite compartilhar um único endereço IP entre vários dispositivos e DNS, o que, entre outras coisas, permite que você traduza um nome de host para um IP endereço (mas não tem nada a ver com NAT).
Desde que você tenha um único endereço IP, não será possível expor diretamente todos os seus dispositivos à Internet mais ampla usando um roteador sem usar NAT para mapear serviços em cada dispositivo para uma porta diferente.
Você pode resolver parcialmente seu problema configurando um servidor OpenVPN no seu roteador (ou equivalente). Os sistemas remotos precisarão de clientes VPN que se conectem ao seu servidor VPN. Se você estiver usando o OpenVPN, o servidor precisa ser configurado como um dispositivo TAP ou como um dispositivo TUN que injeta uma rota para sua LAN (o último lhe dá melhor controle)
Você pode facilmente manipular o DNS simplesmente adicionando os endereços IP internos de cada PI ao arquivo de zona para devgiants.com (não é necessário mexer com o dnsmasq) - Mesmo que o registro para o qual você está apontando seja um arquivo interno / endereço IP não roteado, o servidor DNS não se importa e fornecerá uma resposta de qualquer maneira. Como você tem uma VPN, seu servidor poderá encontrar o endereço IP interno.