потому что ты из массива "а" удаляешь элементы в то же время, когда по нему проходишься последовательно в forEach, то есть цикл ломается
b.filter(bb => !a.includes(bb))
---
кстати функция внутри forEach вторым аргументом получает индекс элемента
a.forEach((element, index) => {
...
});