Ответ
В data class метод equals() автоматически генерируется и учитывает только свойства, объявленные в первичном конструкторе. Поля, объявленные в теле класса, игнорируются.
data class Person(val name: String) {
var age: Int = 0 // Не учитывается в equals/hashCode
}
val p1 = Person("Alice").apply { age = 20 }
val p2 = Person("Alice").apply { age = 30 }
println(p1 == p2) // true, так как сравнивается только name