Thanks for your help, I swapped the cables to try a few different ones. Same.
But I since think i've found the culprit....I'm an idiot and didn't check the age of the 16port switch. It looked pretty old but assumed that it'd definitely be 1000mb..... Though on closer inspection it looks like it is not.
It's a 3COM Baseline 2016 - Model# 3c16470... link below.
https://www.itinstock.com/3com-superstack-3-baseline-10100-16-port-ethernet-switch-3c16470-34046-p.a...If I swap that over to a 16port gigabyte switch and just remove all the ethernet connections from the old switch and put them into the new one... that will just work?
(the house i'm in has hardwired ethernet running to every room across all three floors, all coming from that old 3com switch in the attic)