ROS7 and mark routing issue

I am trying to do PCC in ros7 but it won’t work for some reason. It seams to break the moment I mark packets with routing marks.
I tried to simplify it and see if the simple approach works but nothing.
So my latest config is a new routing table, one rule to mark routing to that routing table and one route to 0.0.0.0/0 with that routing table and it won’t work.
The same route works if I add a route policy rule and force the packet to that routing table without marking the packet.
Some parts of the configuration follows

/routing table
add disabled=no fib name=home5g
/ip firewall mangle
add action=mark-connection chain=prerouting dst-address-list=!RFC new-connection-mark=CM-HOME passthrough=yes src-address-list=RFC
add action=mark-routing chain=prerouting connection-mark=CM-HOME new-routing-mark=home5g passthrough=yes
/ip route
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=10.255.254.1 pref-src="" routing-table=home5g scope=10 suppress-hw-offload=no target-scope=10

You mark routing based only on connection mark => you mark packets in both directions => you’re sending incoming packets from internet back to internet. It might have worked in v6 if you had routing rule for local subnest, but not anymore: http://forum.mikrotik.com/t/routing-mark-and-route-traffic-to-a-different-gw/160754/4

It would be also good idea to add connection-state=new to connection marking rule, no need to mark it over and over again.