ReplaySubject используется по той причине, что он не зависимо от того, где была осуществлена на него подписка отдаст значение, что гарантирует отписку в любом случае.
А по поводу takeUntil полностью согласен, так как авершенный поток может быть переключен на другой, который не завершится, и в таких местах необходимо в конце ставить жирную точку в виде takeUntil
Похоже на на еще одну часть)
Во второй части статьи на эту тему, как раз будет описан подходящий кейс под ваш ваопрос
Сейчас в разработке вторая часть статьи, которая опишет более реальный кейс в практике применения динамических компонентов
ReplaySubject используется по той причине, что он не зависимо от того, где была осуществлена на него подписка отдаст значение, что гарантирует отписку в любом случае.
А по поводу takeUntil полностью согласен, так как авершенный поток может быть переключен на другой, который не завершится, и в таких местах необходимо в конце ставить жирную точку в виде takeUntil