Ваш код отлично работает. В смысле - ошибок нет, запрос успешно выполняется.
"Не доходит до проверки" - имеется в виду, что ни один из console.log не отрабатывает? Ну так это неудивительно - не вижу, чтобы переменная isStreamOnline объявлялась.
Получается так: данные успешно получены, условие stream === null оказывается ложным (проехали мимо первого console.log) - идём в else, там проверка на typeof isStreamOnline !== 'undefined' тоже оказывается ложной (проехали мимо второго console.log) - т.к. переменная не объявлена, стало быть она всё-таки undefined. Ну и после этого isStreamOnline устанавливается в true.
При повторном вызове checkStream - снова stream не null, затем проверка typeof'а наконец даёт положительный результат, но вторая часть условия (!isStreamOnline) оказывается ложной, т.к. isStreamOnline уже true - снова проезжаем мимо console.log.
Короче, добавьте объявление переменной, что-то вроде var isStreamOnline = false;
, а проверку typeof на 'undefined' - уберите, достаточно одного !isStreamOnline.