И как тут может помочь kotlinx.serialization?
Если что я сам могу кастомизиповать не привязываться к выходному формату, если мне нужно я просто "напишу свой формат". Аннотация только от одной либы, именно в этом часто приходилось делать разные модели.
Вот прям сегодня делал кастомизацию сереализацию Config4k, JavaTime, и это полностью дублировали енкодер и декодер из kotlinx-serelization