Because the Groovy plugin picks up the Groovy compiler from the compile class path. (From what I remember, the Scala plugin picks it up from the .iml, which can easily be generated by the build.) Hence compilation results are guaranteed to be the same for build and IDE, provided that the compile class paths are exactly the same. Gradle does a good job of enforcing the latter these days.
I was kind of expecting the IntelliJ Kotlin plugin to be tightly coupled to the Kotlin compiler. This may be the way to go (at least for now), but keep in mind that compiler/language bugs can easily leave users in an awkward situation: They may be forced to upgrade or downgrade the Kotlin version used by the build, but may not have the option of, or may have to face the consequences of, doing the same for the IDE. I’ve ended up in this situation more than once with other languages and IDEs, and it can be a show-stopper.
Delegating compilation to the build tool (cf. Android Studio) would be another option to solve this problem.
PS: I’m not speaking for Gradle here (I’m no longer part of the team). I’m just a Kotlin user who firmly believes that the build tool needs to have ultimate authority on these things.