Ao invés de encadear várias chamadas de .pipe() (o que acaba tornando o código um pouco verboso), não seria uma boa prática "abraçar" toda as chamadas de funções sob um único pipe?
ngOnInit(): void {
this.router.events
.pipe
(
filter(event => event instanceof NavigationEnd),
(map(() => this.activatedRoute)),
(map(route=> {
while(route.firstChild) route = route.firstChild;
return route;})),
switchMap(route => route.data)
)
.subscribe(event => this.titleService.setTitle(event.title));
}