Em resumo, sim, os túneis ssh enviam todos os dados pela porta que o ssh está usando (que normalmente é a porta 22).
No entanto, ele envia somente tráfego especificamente enviado pela porta especificada (5900 no exemplo acima).
O exemplo clássico disso é o tunelamento do tráfego da Web, para que um navegador da Web local use o túnel para alcançar os sites de destino. Nesse caso, a máquina local fará pesquisas de DNS que não passam pelo túnel, antes de enviar tráfego da Web pelo túnel.
No seu exemplo, sim, somente a porta 22 é necessária, mas lembre-se de que ela depende do aplicativo usando apenas a porta específica (5900) para todo o tráfego e, se fizer outras coisas (como pesquisas de DNS) pode sair da rede localhost, não do túnel.