Yes that is exactly how it should work, mangle has the highest priority
- you are marking traffic with “cloudflare”
- and there is a route in the “cloudflare” table
- routing decision picks the forwarding path from the cloudflare table
If you remove the default route from “cloaudflare” table so that nexthop cannot be resolved in that table, then routing decision will move to the next adjustments: route rules.