That NetworkManager considers a link failed by default if all it gets is a link-local IPv6 address and nothing else, and proceeds to kill it off completely after DHCPv4 times out, is completely normal and sensible behavior. /s
they've made it fucking impossible to change this on Raspberry Pi OS, without probably throwing out the whole network configuration stack. What the fucking fuck. I'm losing my mind over this