Если у вас увеличивается только первый массив, а второй (с элементами) остается неизменным, то есть смысл
попробовать составить карту innerText => [...(.top-item-row)] и работать с ней.
const elements = [...document.querySelectorAll('.visit-link, .target-link > a')];
const elementsMap = {};
let item;
while (item = elements.shift()) {
elementsMap[item.innerText] ??= [];
elementsMap[item.innerText].push(
item.closest('.top-item-row')
);
}
function removeRows(titles) {
for (let i = 0; i < titles.length; i++) {
const list = elementsMap[titles[i]];
if (!list) {
continue;
}
for (let j = 0; j < list.length; j++) {
list[j].remove();
}
delete elementsMap[titles[i]];
}
}
removeRows(['Заголовок1', 'Заголовок2']);