That might do the job. It looks like using jackson to consume form a polymorphic endpoint like that may not be a wise idea (complexity).
In Scala, I can declare a set of sealed case classes in the same manner as the sealed data classes in Kotlin. The JSON parsing libraries do not require any type field in order to parse to the abstract types.