Решение нашлось: запуск внутреннего поиска с задержкой в одну секунду.
Не знаю почему так работает, ведь в переменной HTML-блок уже был, но видимо для внутреннего поиска он как бы ещё не успевает появиться. При запуске с задержкой он видимо появляется и всё работает.
Благодарю за помощь в поиске решения.
setTimeout(search1, 1000);
function search1(){
var submit_button = open_submit_button.querySelector('#text');
}