Is bad practice to install DHCP server "in" (not "for") dmz?

I never tried the DHCP relay, so I don’t know how dnsmasq behaves in such scenario.
Even if it’s not a bad practice to put the DHCP server in the DMZ, I think you’re over complicating the configuration.

Just put the DHCP server on the gateway and configure it to listen only on blue and green.
Server on the DMZ should have a static IP address.