Почему .filter() возвращает true а элемент в результат не попадает?
В чем моя ошибка?
Вы изобретаете Array.slice:function getPaginatedProducts(products, page) {
    const productsPerPage = 3;
    const begin = page * productsPerPage;
    const end = begin + productsPerPage;
    
    return products.slice(begin, end);
}

console.log(getPaginatedProducts(products, 0)); // 1,2,3
console.log(getPaginatedProducts(products, 1)); // 4,5,6
console.log(getPaginatedProducts(products, 2)); // 7,8,9
Нет, возвращает true она только два раза, т.к. условие
start_count < per_page
выполняется 2 раза, т.к. per_page = 3, а start_count увеличивается с каждой итерацией.