Если в is_array передать массив с указанием несуществующего ключа, то нотис не выдаётся.
Пример:
$foo = []
$bar = $foo['bar']; // нотис есть и это логично
is_array($foo['bar']); // нотиса нет
В документации к is_array ничего нет.
UPD: судя по всему мне в консоли не выдавал при динамическом вызове. А в обычной ситуации нотис вывалился. Вопрос снимается, всё работает, как и должно,