Ran into a scenario where the playbooks where either deliberately interrupted (or unintentionally failed) prior to dhcpd being restarted. The problem is that the running daemon is acting on a previous config and can be very confusing.
Consider stopping the dhcpd daemon early in the processing to ensure expected behaviour.
Remember that we are talking about the dhcpd daemon on the deployhost (controller) which only exists to support system provisioning and should be shut off at the conclusion of the plays. It is not a long running dhcp service.