And as soon as I ask the question, I fixed it! Always the way...
The interface=wlan0
in the dnsmasq config file was stopping everything on the other interfaces, even though it was still listening. The fix was to add some extra lines to that file so it now looks like this;
bind-interfaces
no-dhcp-interface=eth0
no-dhcp-interface=wg0
no-dhcp-interface=lo0
dhcp-range=192.168.100.100,192.168.100.200,24h
dhcp-option=6,192.168.0.251,192.168.0.252
domain=wlan
address=/gw.wlan/192.168.100.1
dhcp-leasefile=/etc/pihole/192-168-100-0.leases
DNS is working on VPN, old network and new network now, and DHCP is restricted to the new wireless network.