Основная проблема с FTP по HTTP не в сопоставлении портов, а в возможности транслировать команды HTTP на FTP. Что-то вроде mod_proxy_ftp должно помочь. Обратите внимание, что прокси FTP через HTTP, как правило, поддерживают только выборку файлов и вывод списка каталогов, то есть они преобразуют URL-адрес каталога в команды LIST, а URL-адрес файла - в команду RETR.
Я понимаю, что, возможно, не ответил на ваш точный вопрос, поэтому извиняюсь, если есть веская причина, почему вам нужно использовать VPN, а не прокси. Тем не менее, я не вижу, как VPN будет конвертировать протокол.