Ну, пока всё идёт к тому, что records + pattern matching в Java будет круче, чем Kotlin.
Например, в Kotlin проблемы с тем, чтобы делать data class’ы обратно-совместимыми.
Паттерн матчинг фиг знает когда и фиг знает что будет. В чем он круче, не понятно. Что касается рекородов, я повторюсь, у них и дата классов разные цели и разная реализация. Я думаю, что на основе рекородов будут конст классы.