Речь идёт не про ||, а попытку сравнения (равенства) через ===. Попробуйте в консоли написать маленький кусочек кода и запустите его:
const arr1 = [];
const arr2 = [];
console.log(arr1 === arr2);
Вы увидите, что будет false - независимо от того, строгое будет равенство или нет. Массив создаётся в куче (неструктурированной области памяти). Управляете Вы им через переменную. Поэтому в Вашем случае переданный для сравнения массив слева от равенства - это отдельный массив в куче, а справа от равенства - ещё один отдельный массив в куче. И они никогда не будут равны между собой, т.к. это разные массивы.
Написав let arr = [], Вы создали массив в куче. Управляете Вы им через ссылку, которая записана в переменную arr. Если Вы решили переопределить переменную let arr = null, например, всё: связь с этим массивом потеряна навсегда - он больше не доступен для Ваших действий с ним. Он полежит в куче некоторое время, а потом будет уничтожен. А если Вы передумали и напишете let arr = [], то это создаст абсолютно новый массив, хоть с виду он кажется и таким же. Но это совсем другой массив, а не тот, который был создан изначально. Поэтому 2 одинаковых массива никогда не равны между собой в JS.
Может, поможет такое сравнениие: два абсолютно идентичных автомобиля VW с электронными ключами. Вы никогда не откроете одним ключом обе машины. Каждый ключ для своего VW. Так вот ключ - это ссылка на массив (ссылка на свой VW), а VW - это соответствующий массив. Сравнение массивов в JS идёт по ссылке, т.е. сравниваются cсылки в переменных (ключи в нашем примере. А они разные - каждый ключ для своей машины. Поэтому и VW, пусть и идентичной комплектации и модели, будут “не равны” между собой).
Наличие элементов в массиве можно проверить через arr.length === 0 (или !arr.length), а наличие единственного элемента нуля - arr.length === 1 && arr[0] === 0. Тогда должно всё заработать.
Да, и ещё не понимаю, зачем в коде ветка с else 1-й? Если Вы передаёте в функцию НЕпустой массив и единственный элемент в нём отличен от 0, то, как я понимаю, нужно вернуть сумму элементов массива. Т.е. при коррректно работающей функции 1 никогда не будет возвращена! Или нет? )