Eu programo em Go, e as goroutines não são executadas em uma única thread. Aqui está a documentação oficial do Go: https://go.dev/doc/effective_go. O segundo parágrafo da seção sobre goroutines:
Goroutines are multiplexed onto multiple OS threads so if one should block, such as while waiting for I/O, others continue to run. Their design hides many of the complexities of thread creation and management.
Esse trecho explica que as goroutines são distribuídas em múltiplas threads do sistema operacional.