Finally got to the bottom of weird Linux ethernet issue - seems from Linux kernel 6.9 onwards some kind of power saving setting is turned on by default and this breaks it entirely. Putting this here so I can find it when I inevitably run into this again.