«имя» описывается как строка, а не целое число в вашей структуре базы данных, поэтому вы получаете orderByChild в правильном порядке.
Например, попробуйте этот код в Dartpad .... именно так Firebase извлекает ваши данные:
void main() {
var intList = [0, 1, 5, 2, 3, 8, 17, 11];
intList.sort();
print(intList);
var tringList = ['0', '1', '5', '2', '3', '8', '17', '11'];
tringList.sort();
print(tringList);
}
Вывод:
[0, 1, 2, 3, 5, 8, 11, 17]
[0, 1, 11, 17, 2, 3, 5, 8]
Вам нужно изменить "имя" на целое число в вашей базе данных, чтобы получить требуемый заказ.