When SCO sued IBM, people were already using Linux including one of the biggest and most trusted names in computing (at the time): IBM. Migrating away from something is a hard choice. Likewise, Linux had IBM's army of lawyers defending it (yes, BSD was defended by UC Berkeley, but the school could have easily folded over a project that wasn't part of the school's core mission). SCO also wasn't much of a threat - they were a dying company trying to win a case against the biggest names in the industry.
It's a lot easier to spread FUD against something no one is currently using that has a viable alternative. In 1993, Linux and BSD may have been equal, but AT&T's legal threat carried weight. People choosing one or the other weren't already using one. By 2003, 25% of the internet was powered by Linux. People were already using it and weren't going to be scared away by the claims of a dying corporation while powerful companies were defending Linux.
You say yourself that if something wasn't Linux compatible, it wasn't valuable and so everyone had to be chasing and reimplementing Linux compatibility. But if BSD had been established for a decade and Linux was chasing BSD compatibility in 2003 and then SCO sued BSD, BSD would still have maintained dominance.
When a company claimed ownership matters. Which company claimed ownership matters. "How big" the OS was when the challenge came matters.
Frankly, reset Linux adoption to 0. Have everyone use BSD for 2-4 years. Then reintroduce Linux. You won't end up with Linux dominance. You'll end up with BSD dominance. Linux had a multi-year head start. As you note, once you become the dominant target, everyone else is chasing you. If BSD had a multi-year head start, Linux would have been chasing BSD and the roles would be swapped.