I think designing tables in Exposed allow to define a fine-grained database model using Kotlin syntax / type safety.
If you want advanced features with your entity API (like multi-column keys, check constraints, indices, cascades, etc.), won't you end up with something very similar to what exist in Exposed ?
I think that having an SQL based API allow more control over the storage model (with a counterpart that you might have to write more code/description).
An article that (I think) well describe relational model complexity is the Jooq "database first" blog post :
https://blog.jooq.org/truth-first-or-why-you-should-mostly-implement-database-first-designs/
Maybe it can help discover bumps on the road ahead.