mark connection where protocol icmp matches udp ?

Greetings all,
Hoping someone can point out whatever noob error I am making here. Everything seemed to be going well with my mangle/queue-tree setup until I hit ICMP.

I have stripped down my setup to a basic mangle rule for simple analysis

/ip firewall mangle
add action=mark-connection chain=prerouting comment=icmp new-connection-mark=icmp protocol=icmp

I find the mangle rule is marking connections that are not protocol ICMP ?
*/ip firewall connection> print detail where connection-mark=icmp

32 protocol=udp src-address=124.169.171.229:37150 dst-address=202.94.x.x:59428 reply-src-address=202.94.x.x:59428
reply-dst-address=124.169.171.229:37150 timeout=3s connection-mark=“icmp” p2p=none

33 SA protocol=tcp src-address=134.170.0.215:443 dst-address=202.94.37.196:58549 reply-src-address=202.94.x.x:58549
reply-dst-address=134.170.0.215:443 tcp-state=time-wait timeout=4s connection-mark=“icmp” p2p=none

34 protocol=udp src-address=202.94.x.x:52270 dst-address=192.168.141.11:161 reply-src-address=192.168.141.11:161
reply-dst-address=202.94.x.x:52270 timeout=0s connection-mark=“icmp” p2p=none
*

ICMP packets are sometimes used for signaling during TCP/UDP sessions. Things like “whoa, don’t talk so fast” or “yo! the packets you are sending are too big”.

Perhaps those ICMP messages are considered part of the original connection?

You might try doing packet marks instead of connection marks.
Or specify connection-state=new in your mangle rule. I don’t have a 'tik in front of me to check exact syntax and results.