Because the task of a router is to route networks. This can do it very good.
Because it is nice to have all in one and most home networks there is no administrator, most routers implement a basic function of DNS and Firewall. And this works for most people.

But your request is a lot more than an usual home network user 'needs'.
And therefore the suggested solution is to set up a full featured firewall/DNS with exactly the functions you want.

And I say this as someone who has a own VM for Firewall (OPNSense) and two for DNS (Bind/PiHole) ... Only because my needs are more than the usual home environment.