в первом случае flatMap заменяется на concatMapDelayError по двум причинам
1) flatMap распараллеливает твои эмиты, а значит если их будет больше одного, то твоя цепочка сломается (backpressure), нужен concatMap
2) откладывать ошибку нужно там же, где она прилетает