The name resolver ( DNS server) in IPFire is unbound!
If you use block and allow lists for name resolution with your local ‘DNS caching server’ ( what program? ), this can be done with Unbound also ( using RPZ lists ).
The solution with IPFire as DNS server is more straight-forward, IMO. The target for name resolution is mainly the ‘internet’ ( the device which provides access to it = IPFire ). A config with a separate DNS server in the local network may be more errorprone.