переделал с рекурсией, но в один момент начинает ахинею делать, то есть критерий верный и в нужном месте, а слово начинается с другой буквы https://onecompiler.com/javascript/3x3g23rsq
Я думаю, попробовать концепцию, где прога делает новый массивчик и с каждым успешным шагом удаляет по одному из старого, но "на ходу" мутировать массив, по которому пробегаешься, вроде нельзя.