Cómo serializar y deserializar una jerarquía de clases sealed de Dart a y desde JSON
Pon un campo discriminador en el JSON, haz un switch sobre él en un factory de la base sealed y haz un switch sobre el subtipo para escribirlo de vuelta. Tres versiones funcionales en Dart 3.13.7: coincidencia de patrones escrita a mano, json_serializable 6.15.2 y Freezed 4.0.3 con unionKey y fallbackUnion, además de las trampas que esconde cada una.