O protocolo FTP foi criado quando todas as máquinas na Internet eram globalmente endereçáveis com um endereço IP exclusivo. A única razão pela qual o FTP por trás dos appliances NAT funciona agora é que o appliance NAT filtra o tráfego FTP e corrige o texto não criptografado da conexão do comando FTP (porta 21) para permitir os endereços não roteáveis envolvidos.
Como você está envolvendo o tráfego FTP em SSL, o dispositivo NAT não pode ler esse tráfego e, portanto, não pode corrigir o endereçamento IP não compatível. Sua solução virá do seu servidor FTP.
O pure-ftpd tem um sinalizador -N que força o modo "ativo", significando que o servidor FTP inicia a transferência de dados (porta 20) e recusará o modo "passivo". O modo passivo é o que os clientes FTP por trás do NAT têm que usar para fazer o download de um site FTP público, com o qual você não será mais compatível.
O proftpd (o melhor de todos os servidores FTP possíveis com os quais eu me incomodei em brincar) tem uma configuração para resolver este problema. Você pode adicionar a diretiva "MasqueradeAddress xxx.xxx.xxx.xxx" ao arquivo de configuração que fará com que o proftpd informe a todos os clientes que o MasqueradeAddress é o endereço IP do servidor FTP. Certifique-se de ter a porta 20 neste endereço encaminhada com NAT para o seu servidor FTP.
De acordo com a sua nota: A diretiva "MasqueradeAddress" pode ser usada no escopo da diretiva "VirtualHost", permitindo que você forneça o acesso interno, bem como o acesso NAT externo.