провайдер инхерит который выше по контектсу должен быть, и его функия create будет при линивой загрузке вызвана при первом обращзении, какая разница бильд или не бильд?
вообщем суть в чем Если Provider(create или Provider.value где то есть, а ниже есть орбращение путь как вы написали по старинке через Profider.of или watch/read, оно ищет по дереву вверх просто провадер ваш и дергает, тут не вжано в каком месте виджета вызов, важно чтоб вызов был на контексте у которогу в где то в родителях есть нужный провадер)