Почему takeUntil для отписки Observable лучше размещать в конце pipe?
Потому что завершенный обсервабл может быть переключен на другой, который не завершится.
По этой же причине и от хттп надо отписываться, одноразовый запрос может быть переключен на другой и за ним не уследишь.
Мне нравится как описано в этой статье https://ncjamieson.com/avoiding-takeuntil-leaks/

Подробнее про подписки https://medium.com/ngx/why-do-you-need-unsubscribe...