Po chvíli zkoušení a čtení návodů se mi můj problém podařilo vyřešit.
Jak psal @martas měl jsem tam prohozené src-port a dst-port. Dále mě zmátlo, že nat je v packet flow zařazen před filter a tedy jsem otvíral port, který byl už přesměrovaný na cílový, ale ten byl defaultně zavřený. Abych však zamezil, přímý provoz na cílovém portu, značím si v mangle connection na portě před přesměrování a poté pouze otevřu port pro všechny takto značené spojení. Konkrétně mám tyto pravidla:
/ip firewall mangle chain=prerouting action=mark-connection new-connection-mark=m-redirect passthrough=yes protocol=tcp dst-port=2222
/ip firewall nat chain=dstnat action=redirect to-ports=22 protocol=tcp in-interface=VDSL dst-port=2222
/ip firewall filter chain=input action=accept protocol=tcp connection-mark=m-redirect in-interface=VDSL
Rád uslyším případné nedostatky tohoto řešení.