We've ended up writing our own persistence / repository-pattern components, which I can't share, but it's very little code. We've explored Komapper, Ktorm, JetBrains Exposed, and Hibernate JPA.
We've settled (for now) on Komapper because it seemed the least intrusive in our data model (Komapper annotations only, which I'm not a fan of, but it was the lesser evil). Komapper also uses KSP to generate meta model at compile time, which I'd rather avoid, but it's not possible yet.
One thing to keep in mind is that Hibernate doesn't work well with data classes (
https://kotlinexpertise.com/hibernate-with-kotlin-spring-boot/), which was a big stumbling block for us because we definitely want data classes, and engineers will eventually be tempted to use equals/hashcode unaware of the hibernate issues with it.
In short, we found the ORM world for Kotlin to be lagging, with most Kotlin libs trying to be both an ORM and Flyway, which intrudes on the design. While traditional (hibernate) solutions don't fit as well in Kotlin apps.