Adding my 2ยข because everything else here seems overly complex to me (with Python 3.13 typing):
def recursive_subclasses[T](cls: type[T]) -> set[type[T]]:
"""
Recursively finds all subclasses of a given class.
"""
return set.union({cls}, *map(recursive_subclasses, cls.__subclasses__()))