i think one of the best explanations is this picture

taken from itnext.io/multi-threading-and-multi-process-in-no…
It's a difference between being a singlethreaded language and just using 1 thread. The question is can you access the threads, can you control them? in js you can't it's up to the eventloop what's happening.
So you are right, u usually utilize more then 1 thread. But you are not able to access the multi-threading hence it's not a multithread language. You can however use workers with buffer arrays to use some kind of threading system.
But it's not like java or go where you start your concurrent coroutines or thread models with shared memories and resources directly.
I think Marco Alka wrote in details about this I forgot the exact title of the response. Maybe he will elaborate / correct me where I went wrong.