Which they then failed to follow, especially since goroutines share memory with each other.
Moreover, threads are arguably useless without shared memory anyway. A thread is invoked to work on the same data structure with multiple "affectors". Coordination of these affectors is up to you. Atomics, locks, queues... The tools are many.
In fact, processes are just threads which are isolated from each other, and this isolation is enforced by the processor.
Anyway, I would stop short of saying "Go chose shared memory". They've always been clear that that's plan B.
It's not like it's a disaster, but it's certainly inconsistent.
The opposite default encourages the opposite behaviour.