I managed to find an alternative that seems to work without disabling eth0 entirely or bloating my barebones server with NetworkManager. Connman. The configuration and the routing tables are much more complicated unfortunately, but it works.
(Curiously I see a new IP in the routing table that never appeared before and doesn't seem to be related to anything beyond being owned by DigitalOcean. Oh well, at least the default route works.) While the cause of the problem isn't known, I can guess it's somehow related to ISC dhcp-client being EOL'd back in 2022. At some point we should consider deprecating it, particularly if issues like what I encountered become more common. (I also think any replacement should probably avoid being called "dhcp-client". Most other services don't name themselves according to their role, but the software.) -- Take it easy, Richard Sent Making my computer weirder one commit at a time.