union типы только в тайпскрипте видел, но это последствия “фейковой” типизации
Юнион-типы это огромное удобство, разумеется, и реализовано в большинстве "классических" ООП-языков. В Дарте его нет, потому что реализация очень громоздкая. Есть надежда, что они станут следующей большой фичей языка после Non-nullable