fetchMake asyn c, поэтому вы должны поместить await там, где вы вызываете этот метод, но он не будет работать, потому что вы вызываете его в initState.
Так что вам нужно присвоить значение переменной widget.query в только эта функция. Более того, когда вы получаете данные, вы должны вызывать setState, поэтому полученные вами данные отражаются в пользовательском интерфейсе.
В дополнение к этому вы должны проверить, что запрос пуст или не там, где вы его используете, потому что при первом построении метода позвонить не будет никаких данных.
String query;
void initState() {
fetchMake();
super.initState();
}
fetchMake() async{
final prefs = await SharedPreferences.getInstance();
setState((){
query = prefs.getString(key) ?? 'default';
});
}