This issue has been resolved in 6.43rc:
viewtopic.php?f=21&t=133420&start=50#p660193
(Specifically the issue mentioned in opening post)
Version 6.43rc7 has been released.
Changes since previous rc release:
*) capsman - allow to change "radio-name" (CLI only);
*) dhcpv4 - prevent sending out ICMP port unreachable packets;
*) dhvpv4-client - fixed DHCP client stuck in renewing state;
*) kidcontrol - allow to edit discovered devices;
*) lte - do not allow to send "at-chat" commands for configless modems;
A workaround is to downgrade to 6.40.8 or add a dhcp renew script (dhcp unicast fails, force renewal will fallback to dhcp broadcast sooner - before release):
/system scheduler
add comment="work around for dhcp-client on [interface] lost IP address x.x.x.x - lease expired" \
interval=25m name=dhcp-renew on-event="/ip dhcp-client renew [ find ]" policy=read,write \
start-time=startup
Tune the interval to renew as late as possible but a few minutes before regular dhcp lease timeout.