Groovy is powerful but dynamic compilation sometimes cause complicated issues especially with Kotlin DSL users. We can put CompileStatic annotations to Groovy classes to avoid them though, using Java is more simple if so.
And also, we use old Gradle versions to keep the backward compatibility safely (we know it's not required though) and have to test many Gradle versions with painless as much as possible. As Groovy's version depends on the compile-time Gradle version, Groovy version concerns may not fit our project.