Есть ли причина, по которой вы решили использовать это вместо ReplaySubject?

Я спрашиваю, потому что ReplaySubject ведет себя так же, но не требует начального значения, что полезно, если указанное начальное значение должно быть предоставлено асинхронным вызовом API.