Вах, красавица, голос сладкий, как вино хванчкара, глаз большой, как хачапури нос гордый, как гора в сванетии, волос густой, как хаш на заре. Замуж зову, барашка зарежем.
Тут магии никакой нет. Я бы сказал наоборот, что самое важное тут — возможность добавлять провайдеры по условию. Кейс с синглтоном сервиса можно решить и просто добавив провайдеры в основной модуль, а в лейзи только их инжектить. Но провайдеры в модули я вообще не рекомендую добавлять, только лишняя путаница от этого создаётся. Гораздо лучше рассматривать провайдеры как 2 вида — providedIn: root либо привязанные к конкретному инжектору (запровайженные в директиве или компоненте).
Это покрывает практически все реальные кейсы. Это я про сервисы говорю. А токены всякие можно определять в основном модуле, если они единые для приложения.