Нужно ли учить JS/Dart чтобы пользоваться фреймворками?
Мне нравится изучать новые языки и технологии.
Кончай мусорить.
Знанием фреймворка ты решишь общие вопросы и напишешь типовой код. Как бы ты ни знал фреймворк - он закрывает только определенную часть задач, даже если он закрывает их очень много.

Язык знать надо.

Только так ты сможешь полноценно что-то писать сам.

И править / дописывать фреймворк.

Или писать свое решение в случае необходимости.

Без языка далеко не уедешь.

Те кто пишут только на фреймворках без знания языка, дай им сложную задачу, не связанную с фреймворком, они ее не сделают.
Знать язык - это не только синтаксис.

Например, знать что в JS (как и в других языка) сложность for зависит от шагов и сделав не i++, i+=2 ты уменьшиш нагрузку (осторожнее с нечетным количеством элементов) или что динамическое добавление поля к объекту - под капотом пересоздаст скрытый класс в V8.
Или что Promise и их then => Promise ожидаются рекурсивно и можно писать вложенные конструкции.