what's wrong with policy routing?!

I've configured the same RouterBoard333 scheme with RouterOS 3.7 running OSPF:

R4
|
| R2 ---- R1
| /
R3

R3-R4 net 10.10.4.0/24
R3-R2 net 10.10.2.0/24
R4-R2 net 10.10.3.0/24
R2-R1 net 10.10.1.0/24

On R2 I've configured policy routing to make that packets coming from R1 to 10.10.4.1 (R3) go through R4, and others coming from R1 to 10.10.4.0/24 go through R3 and the result making traceroute from R1 to 10.10.4.1 i obtain the following:

[admin@MikroTik] > /tool traceroute 10.10.4.1
ADDRESS STATUS
1 10.10.1.2 1ms 1ms 1ms
2 10.10.4.1 1ms 1ms 1ms

why 10.10.4.0/24 rule has major priority than 10.10.4.1?¿? It would have to be the opposite as the second one is more restrictive, wouldn't it?¿?

The configuration of R2 is:

[admin@MikroTik] /ip route rule> print
Flags: X - disabled, I - inactive
0 routing-mark=prova action=lookup table=prova

1 routing-mark=prova2 action=lookup table=prova2

[admin@MikroTik] /ip firewall mangle> print
Flags: X - disabled, I - invalid, D - dynamic
0 chain=prerouting action=mark-routing new-routing-mark=prova passthrough=yes dst-address=10.10.4.1

1 chain=prerouting action=mark-routing new-routing-mark=prova2 passthrough=yes dst-address=10.10.4.0/24

[admin@MikroTik] /ip route> print
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
B - blackhole, U - unreachable, P - prohibit

DST-ADDRESS PREF-SRC GATEWAY-STATE GATEWAY DISTANCE INTERFACE

0 A S 0.0.0.0/0 reachable 10.10.3.2 1 ether3
1 A S 0.0.0.0/0 reachable 10.10.2.2 1 ether2

(Apart from OSPF routes..)

If in /ip firewall mangle I have two entries with both dst-address and src-address and for example in the first case dst-address is less restrictive (net mask major) and src-address more restrictive than the second one and viceversa...which rule would have to be prior?¿? Thanks,