Предикат должен возвращать
trueили
false. Поскольку вы возвращаете сам элемент, он приводится к логическому типу, соответственно
0 приводится к
false.
Лучше делайте так:
function filterList(list) {
return list.filter(item => typeof item !== 'string')
}