After a bit of glance I think mainly on three aspects:
1. the data structure: tomlkt tries to resemble official JSON format in regards to heavy usage of XxxElement, while ktoml specifies every data type separately and kind of keeps them as internal implementation.
2. the feature set: tomlkt does implement more features either from TOML or Kotlin itself, so less workaround. Most issues posted there are solvable with tomlkt.
3. the decoding process: tomlkt consumes source file character by character and cares much about operations and memory usage, so it has finer control and IMO is more robust.