Well, you kinda need to be using some dynamic routing protocol like BGP/OSPF/RIP — but details like how any rule is invoked is missing as a starting point in the docs. Specifically both the rule and select-rule are invoked via the BGP/OSPF/RIP configuration. Standing alone /routing/filter do nothing without some initial trigger elsewhere.
I point this out since "dynamic-in" chain support from V6 was dropped, so I know what protocols you can use router filters, since I lost "dynamic" one from V6
. e.g. in V7, you cannot do some "if ( afi ipv4 ) { set gw-check icmp; accept }" for a route added by DHCP client – while this was possible in V6 — which avoided the scripting in /ip/dhcp-client to set check-gateway=ping required in V7.
OP is correct that "select-rule" is pretty skimpy on docs... While this is true and covers the "why":
By default, (if no selection rules are set) output always picks the best route. [....] But there might be cases where you would want preference for other routes, not the active ones, and here come in-play selection rules.
...there is no explanation of the options in docs, or how/when to invoke/use them on the BGP/OSPF side.