Вероятно, вы путаете порт источника клиента и порт источника сервера. Порт источника сервера при ответных пакетах будет 5900, если сервер работает на этом порту.
ValdikSS, проверил. Да, действительно вы правы. Спасибо за уточнение.
Буду лучше понимать как проходит трафик
Но подмечу что и правило для состояний так-же решило вопрос:
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD --protocol tcp --dport 5900 --jump ACCEPT
iptables -A FORWARD -i tun0 -o tun0 -j DROP