DNS-based blocking more complete for your whole network, independent of the device settings for tech-avers users/kids. DNS-based blocking is less flexible for all users in the network - especially when you need to make exceptions for certain sites. They are also limited to your home network, unless you have a VPN server.
Therefore, for mobile devices app-based blocking is the main way to go.
Consequently, both make sense and your use case is relevant.
For android, you can enable the private DNS function (DNS over TLS) and specify a custom DNS server that has ad/tracker blocking without having to install any apps. That also has the benefit of encrypting your DNS lookups so nobody can spy on it.
If I had to pick only one of the two, I'd prefer local blocking because it cannot only not load ads, but also remove the placeholder/frame the ad would've been in. It's also better at circumventing anti-adblock scripts.
That being said, DNS-based blocking is great outside of browser use, and it blocks many ads and tracking attempts in mobile and desktop apps.
A combination of both is best, really. I use uBlock Origin in the browser (or AdGuard Pro with Safari on Mac and iPhone) and then NextDNS. NextDNS is configured rather conservative though, because it can cause things to break otherwise, and that's hard to manage when you're not the only use of your network.
Another benefit of using uBlock Origin is the ability to use the cosmetic filters so you can remove elements from the page that aren't served as ads in the typical sense. As an example when you're reading an article and there's an obnoxious box half way through that says CONSIDER SUBSCRIBING etc. It's not loading any external resources, it's just inlined HTML. But you can enter element picker mode and if you are able to uniquely target that element you can filter it out.
I did this for the longest time until I realised that because AdGuard works best as a virtual VPN, it is unable to run alongside an actual VPN. Luckily my VPN (and many others) support ad blocking too.