Да, это то же самое.
В общем, вы всегда должны просто использовать синтаксис обеспеченныйIn: "root" в объявлении @Injectable. Он даже работает с отложенной загрузкой, когда он только загружен в один модуль, поэтому служба не будет загружаться до угловой загрузки модуля. Это способ лучше построить.
Я думаю, что только 2 исключения из предпочтения предоставляются в
1) Вы хотите объявить это в компоненте. Это приведет к тому, что он не будет одноэлементным, а будет привязан к компоненту
2) Вы используете его в 2 отдельных, но оба лениво загруженных модуля (и он также не используется при начальной загрузке), в этом случае я считаю, что лучший выбор - это загрузить его с готовностью, введя его в AppModule при начальной загрузке.