Почему анонимная функция возвращает число а не булево значение?
array_filter  - Oбходит каждое значение массива array, передавая его в callback-функцию. Если callback-функция возвращает true, данное значение из array возвращается в результирующий массив.
Что и происходит в вашем случае.
вот тут return $item > $min;
мы  ДЕЙСТВИТЕЛЬНО получаем  булево значение, которое и определяет, попадет ли данный элемент массива в результирующий массив.
а что вы ожидаете? 
данный результат коректный