First when the problem is not occurring, complex network issue like this one are very hard to debug , i advice you then to run the following tests when the problem is happening without trying to solve it to be able to identify the source of the issue.
ifconfig (check the state of the network cards)
ping to 127.0.0.1 (this check the internal communication)
What about netplan configuration? There is an option dhcp-configuration that can be used as follows (excerpt from netplan examples):
by default it is using machine-id, but by changing this feature we can 'force' it not to.
Excerpt from manpages/netplan, giving more ...
You do not appear to have configured a NETMASK or PREFIX value for your interface. While not clearly explained often, a proper address actually requires this information.
If you can no longer remotely connect via SSH, Telnet, etc. to the VM, you will need to logon to the console of the system:
physical computer will require access to the monitor, keyboard, ...
Just to expand on @piotrDobrogost 's excellent answer, don't forget to config /etc/nsswitch.conf to use systemd-resolved as a DNS resolution source. Your hosts directive should look as follows for your particular use case:
hosts: files resolve dns
So if you limit the resolution to only those domains specified in the Domains directive ...
From your signal and mainly TX rate at 6Mbps, there are clearly issues at the layer 2 which have to be improved. The signal is not strong enough to guarantee a reliable service.
Once the strength of the signal is improved, the DHCP problems will disappear.
TLDR The problem is not on the Unix side of things per se.