I had a problem with DHCP after upgrading to PVE 9. Solved by enabling the datacentre firewall and open access from there.
Things I tried that didn't work.
Changing the client LXC's from debian12 to debian13.
I tried swapping to dhcpd-base and removing isc-dhcp-client but all that happened is that a temporary 168 address was assigned until the dhcp did succeed eventually, a few minutes later.
I ensured I didn't have firewall rules turned on within the LXC configuration, but that made non difference.
I added rules to accept DHCP traffic in the datacentre firewall rules without turning the firewall on. That made no difference.
Things that did work.
Manually setting the IP address to match the one that would have been offered through DHCP (though that's not a scalable solution and left the puzzle bugging me).
After exhausting the possibilities above, and snooping traffic to validate that the LXC network instance and the proxmox host interface were not seeing the DHCP messages that were obviously working fine with other devices on my network I turned on the datacentre firewall, with all traffic permitted (to replicate the behaviour of my intent that the proxmox firewall wasn't part of my security layering) and immediately the DHCP responses worked.