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));
  }