You should be able to pass in true for assignable, and it will check for inheritance, assuming StringSerializer is a Serializer
I ran into a similar issue in Kotlin, but similar idea should apply:
DelegatingByTypeSerializer(
mapOf(
ByteArray::class.java to ByteArraySerializer(),
KafkaMessage::class.java to KafkaMessageSerializer(),
),
true
)