Наличие данных не означает, что у вас всегда есть доступ к ним.
По умолчанию потоки (и темы) не сохраняют данные, которые они получили ранее.Так что, если вы опаздываете на вечеринку, то извините, но данных нет.
Для решения этой проблемы rxdart представляет ReplaySubject и BehaviorSubject.Оба используются так, чтобы поздние слушатели могли все еще захватить последние несколько событий.ReplaySubject будет отслеживать последние N, в то время как BehaviorSubject будет сохранять только последний.
Использование BehaviorSubject вместо PublishSubject должно сработать