11,503 files, 1,431,195 lines of code. (spread out over <50 Gradle modules).
I think the main problem is that Gradle doesn't have the same support as Java for ABI compatible changes, so invalidation of modules are more common.
This article points to ABI as an open optimization problem in kotlin:
https://blog.jetbrains.com/kotlin/2020/09/the-dark-secrets-o...
I think you're right - ABI compatible changes are likely the culprit.
Fwiw, I’m normally on a beefy desktop so I might just be brute forcing this issue.