Adguard home, unbound, nextdns, localdns & all that?

I've a tp-link ER605 running openwrt with SQM cake for a 80/30 connection, a vr600 running as a dumbap, & a raspberry pi 2 model b, that I used to run pihole on, now I want to level up my setup, using either pihole running on the pi, or AGH running either on the pi or on the openwrt router, with unbound & nextdns, but I need some help, understanding this, so far as far as I understand:
when a client tries to resolve a dns query, it should first go to AGH running on the router, or it or pihole running on the pi 2, if it's something to block then it gets blocked, if it's in the cache then it get's answered locally, if not it then goes to unbound (what exactly is unbound? is it a local dns?) if it's cached it get's answered, if not then it goes to the online dns server in that case, it'll be nextdns
1- is this right?
2- here [OpenWrt Wiki] AdGuard Home it says :

AGH is recommended to be used with filtering disabled as a NextDNS client.

does this refer to AGH filtering ad queries? filtering ads in general? or as in it's MITM https filtering?
3- some people on reddit were talking about running a local dns in general to speed up queries, is that not what unbound is or can/should I run a local dns server alongside all of those, in which case it becomes AGH/pihole > localdns > unbound > nextdns or what exactly should the setup be like, also does running AGH or pi in front of nextdns help the latency (by having some queries blocked locally for ads or others answered locally from cachce, instead of the web) or increase it by having more steps just to resolve addresses?
4-what's dnsmasq & where does it fit into all that?