Null restricted types are indeed important and while null check plugins exist for Java, this is a big step in the good direction by kotlin.
String templates are valuable syntactic sugar, but that's it.
There are a bazillion JSON libraries with at least 3-4 absolutely stellar ones. I don't really see it that big of a limiter.
And if you mean checked exceptions, that's controversial to claim it's all bad. But some ergonomics improvements would be better.