Не, ну корутины ведь тоже работают в одном потоке, но по сути ведь - это такой же планировщик потоков как и в jvm, нет? Просто создание потока в runtime затратная операция по времени и памяти, а тут средствами библиотеки за счёт увеличения кода (который генерит компилятор котлина) решается вопрос создания потоков для обеспечения асинхронности выполнения