Hi Daniel,
The key is this message from the libvirt debug output:
> DEBUG: util.c: virExec (dnsmasq --keep-in-foreground --strict-order --bind-interfaces --pid-file --conf-file --listen-address 192.168.122.1 --except-interface lo --dhcp-leasefile=/var/lib/libvirt/dhcp-default.leases --dhcp-range 192.168.122.2,192.168.122.254)
> libvir: error : internal error cannot execute binary 'dnsmasq': No such file or directory
This missing 'dnsmasq' binary is what is causing the 'defunct' process
you see. If you install dnsmasq it should all work as expected