Com a adoção do IPv6, todo dispositivo dentro da rede do cliente recebe 1 IPv6 global, com isso a conexão é end-to-end, não sendo necessário redirecionar portas, a questão nesse caso é se o firewall do equipamento permite conexões de entradas para aquelas portas necessárias: 80, 443, 3000 etc. Além disso, a grande maioria dos provedores de Internet aplicam regras de bloqueio, no sentido internet -> cliente, para as portas de serviço mais comuns, abaixo da porta 1024. Afinal, ele está vendendo acesso à internet e não hospedagem de serviço do lado do cliente (Não estou afirmando que é correto).
Respondendo a "Parabéns pelas 99 publicações. Rumo ao 100. ser..." dentro da publicação Como conectar dois servidores "atrás" de CGNATs
1
2
E o tempo passou e sua resposta tornou-se realidade, macaraninarede!!!
Agora é possível fazer a conexão "end-to-end" como citou usando o IPV6. O endereço fica meio esquisito, mas funciona. Algo do tipo para uma conexão HTTP:
http://[1234:abcd:5678:8421:cafe:0000:ba1a:ecdf]
Até o momento, o ISP (prefiro não citar o nome rs) não tem bloqueado as portas baixas. Por um lado isso é muito bom, pois, como antes, podemos novamente colocar um servidor pessoal no ar (até um smartphone). Por outro lado, expõe IoT (DVRs, IPCamera, SmartTV etc.) que podem estar com alguma vulnerabilidade exigindo atenção extra.