как-то вы очень сложно пишите, но если я правильно понял, то вы пытаетесь этим интервалом заменить обсервер? Конечно же это не одно и то же, потому что, скажем, после появления элемента ваше действие сработает через интервал вплоть до 3 секунд, т.е. будет задержка. Intersection observer наверняка построен на событиях, а не на бесконечной проверке элемента интервалом, а значит он работает без задержки и намного более продуктивно выполняет свою работу, меньше грузит браузер
Да и intersection observer пересечение проверяет, при чем тут if с querySelector?