AFAIK this is possible yes.
Depending on what app you're using to run DNS at each end it might be more automatable in terms of syncing the zones between the pi's, but all you should need to do is ensure the zones are configured identically on each Pi-hole and that each device has a unique FQDN in DNS.
You'll want to make sure that green zone hosts get DHCP from green zone, and this DHCP issues the IP of the green pi-hole as DNS server.
And similarly for yellow zone hosts you want to make sure they're using yellow pi-hole. Nothing to do with functionality, but just for optimizing traffic and performance since there's no reason to send these things over the VPN if you have a device doing it locally.
You also won't be able to have any duplicate names, as each host will need a unique FQDN for DNS resolution; so for example if Pi-hole.mulquin.net is configured in the zone as 192.168.0.5 -- you can't have another Pi-hole.mulquin.net configured as 192.168.1.240.
If you can help it I'd also recommend to make each site a mirror of the other one as much as you can, just because it will make it easier for you to manage in the long run as the networks grow.
So you could match the hostname/ip setup:
|DNS Name|IP|
|:----|:----|
|green-router.mulquin.net | 192.168.0.1 |
|green-pi.mulquin.net | 192.168.0.5 |
|yellow-router.mulquin.net | 192.168.1.1 |
|yellow-pi.mulquin.net | 192.168.1.5 |
|...|...|
Match the services each device is doing
Router --> Routing (Internet access, VPN access)
Pi --> DHCP, DNS
some_other_device --> services
etc.
If I've overthought this and you knew all that already and just explicitly wanted to know how to configure DNS query forwarding between the zones, then it depends on what you're using to run the DNS service. If you're using BIND then you should be able to set up master/slave DNS servers and that'll take care of that problem. NSD can probably do it too. DNSmasq I don't believe can do it, for that route you might have to do something more creative like configure a subdomain for one site.
ex. green.mulquin.net or yellow.mulquin.net as opposed to just mulquin.net