Почему не стоит импортировать сервис из SharedModule в lazy loaded модуль?
Когда роутер лениво загружает модуль, он создает дочерний инжектор и регистрирует сервис в этом дочернем инжекторе. Дочерний инжектор - это уже отдельный инжектор, отличный от root инжектора.
Когда Angular создает lazy компонент для этого модуля и инжектирует сервис, он находит провайдер сервиса в дочернем инжекторе и создает новый экземпляр сервиса. Это будет совершенно другой сервис, который отличается от того, который используется в других частях приложения.
По такому сценарию приложение каждый раз будет создавать новый экземпляр сервиса, вместо того, что бы пользоваться одним.
Отметьте свой прогресс