Почему приватные свойства класса в dart все же доступны?
В Dart нет специальных ключевых слов (public; private; protected) то есть спецификаторов доступа, по этому все идентификаторы «публичны» по умолчанию. Вопрос инкапсуляции решен соглашением: приватными считаются все члены класса, чье имя начинается с подчеркивания "_".

Другими словами: приватность условна
Это не классовая приватность, это библиотечная приватность. При использовании вашего кода в качестве библиотеки, переменная _name станет недоступной.