I run Pihole in a container on Vyos and have configured the built-in DNS forwarder to use it as an upstream. There is however no configuration option of the DNS forwarder to allow forwarding of ECS information to the upstream, which means that Pihole cannot distinguish between the clients and sees all requests as coming from the router. Adding the following options to /run/powerdns/recursor.conf solves this:
ecs-add-for=0.0.0.0/0 ecs-ipv4-bits=32 edns-subnet-allow-list=192.168.0.0/16
Therefore my kind suggestion would be to implement these configuration options into the DNS forwarder.