All those which I came across so far just moved the check elsewhere
Precisely! Kotlin (and Swift) has actual Null Safety, which prevents NPEs at compile time.
I’m not an expert on Groovy, but the fact that it’s dynamically typed is a deal breaker. Performance is worsened and your program is less safe and harder to maintain.
Scala has (according to many) too many features, which allows each programmer to solve every problem their own special way. This might seem good, but it lowers both readability and maintainability.