Https://Stackblitz.Com/Edit/Rxjs-1unqmy?File=Index.Ts
Шедулер так сработал и поэтому через setTimeout все было нормально
https://rxjs-dev.firebaseapp.com/guide/scheduler
Я понял, почему так. merge подписывается на первый observer (of), идёт в хендлер, там он дёргает subject.next, но никто на subject ещё не подписался, поэтому он игнорируется. Замена Subject на BehaviorSubject решила проблему