В dart нет типа переменной String?, есть просто String.
Знак вопроса в вашем случае указывает на то, что функция может вернуть либо String, либо null. В вашем случае она вернула String. Если указать String без знака вопроса и функция по какой-то причине вернёт null, то ваш код упадет с ошибкой.
Про null-safety подробнее тут:
https://dart.dev/null-safety