Hmm schwierig. Ich hätte es wahrscheinlich ähnlich angestellt wie du es jetzt schon handhabst und per DHCP den entsprechenden Netzen ihre DNSe gepusht - oder alternativ in einer Firewall RDR Regel die Zugriffe auf alles was DNS ist umgeschrieben wird auf den gewünschten Service.
Ansonsten würde eigentlich nur noch eine eigene Lösung entweder auf Basis von zB. pfBlockerNG-devel+Unbound oder mit sowas wie ein Pi-Hole übrig bleiben - zumindest was mir gerade so einfällt ;)
piHole ist ja gern genutzt wenn man extern noch was an Geräten hat wie nen RasPi o.ä. weil einfach nutzbar und schnell aufzusetzen. pfBlockerNG-devel kann das so ungefähr auch, ist aber ein wenig härter so hinzubekommen, dann würde aber alles auf der Sense laufen, was Blocking angeht. Allerdings könnte es tricky werden, wenn auf unterschiedlichen VLANs unterschiedliche Sachen geblockt werden sollen (bspw. auf einem VLAN Erwachseneninhalte und auf den anderen nicht ;)).
Da müsste man im pfBNG Sub-Forum mal nachhaken, ob das machbar ist, da wäre ich jetzt auch überfragt :)