const val — compile-time константа (примитив/String) в object/top-level/companion; обычный val может быть runtime.
Разбор
- const инлайнятся в call sites.
- Нельзя const для произвольных объектов.
@JvmField val для Java-поля.
- В annotation arguments нужны const.
Итог
const val — только для настоящих compile-time констант.