Not using Dispatchers.Default as Default makes the programming of your first coroutine to frustrating for beginners. Look at this question, this remembers me to my struggle with my first coroutine:
launch() {} should be equivalent to launch(Dispatchers.Default) this way you could write your first coroutine and have fun without bothering about what the hell Dispatchers are. It’s also more readable, if you just see launch() do you know which context it is? No, because you don’t know in which context I actually am and Default is not the default.
Maybe there is a reason why it is the way it is, and I think changing it now would break older programs but it would be much better if you could first learn coroutines and later extend that knowledge with Dispatchers. I for my own got the habit to never use launch without parameters because I think that’s to error prone, knowing the actual context anytime is like playing the role of the compiler.