Ну если на пальцах объяснить почему provider не архитектура.
Bloc это что по сути - класс который гоняет события в состояния.
Потом мы гоняем его по дереву, но это уже не архитектура.
Provider это что по сути - гоняем что-то по дереву. Что-то потеряли, не правда ли?