Ok, something just came to mind (I'm thinking more clearly now that morning is here).
In this particular case, the traffic from the SSH server on the router is NOT actually being routed from the local network (at least not from the perspective of PBR). IOW, it's seen as a local process to PBR, and therefore we need a form of PBR that checks packets leaving the local SSH port (22) and headed out over the OUTPUT chain of the firewall. Normally PBR is only implemented for traffic originating from the LAN and passing through the FORWARD chain.
That might not make a lot of sense at the moment, esp. if you don't understand how PBR is implemented by the router, but the bottom line is, the PBR of the Merlin router is unlikely to support what you need. AFAIK, Merlin does NOT support port-based PBR.
https://github.com/RMerl/asuswrt-merlin/wiki/Policy-based-routing
Quoting from the above document,
You CANNOT configure a policy that will be based on a port through the webui - only on IPs (or subnets). If you need more flexibility in your rules, you can look at this alternate manual method. Note that this method might interfere with other features, such as Adaptive QoS.
The alternate manual method is described in the following document.
https://github.com/RMerl/asuswrt-merlin/wiki/Policy-based-routing-(manual-method)
Although the above solution is both IP and port based, it still has a problem. Just like Merlin's IP-only based PBR, it only routes packets over the VPN for devices on the LAN, i.e., those that pass through the PREROUTING chain of the mangle table. In order to force *local* processes on the router through the VPN, you would have to instead mark packets from the SSH port (22) using the OUTPUT chain of that same mangle table (note, there's no need to reference the IP when using the OUTPUT chain since the IP is implied, it's always that of the router).
I realize all of this may be Greek to you if you're not familiar w/ how PBR is implemented, and esp. port-based PBR. But I recommend you at least try making the modifications yourself, and if you run into problems, let me know.
I just don't see any other way to do it at the moment. You need that differentiation provided by the SSH port to solve the problem, and that means a form of port-based PBR, and one which will work w/ local processes on the router, NOT just devices being routed through the router.