Hi ! This behavior is expected since datasets
uses Arrow which has fixed types. This means each sample should have the same subfields with the same types. Missing subfields are filled with None.
You can restructure your data differently to fit this paradigm: either converting nested data as one string, or use one list for keys and one list for values.