Você precisa atualizar a estrutura da árvore (ou seja, mover uma tag para outro pai)? Se isso for possível, a abordagem incorporada se tornaria difícil e a abordagem relacional/normalizada faria mais sentido.
Eu provavelmente armazenaria as próprias tags no documento (incorporadas), mas se houver alguma chance de eu precisar mover nós de árvore on-line, armazenaria a hierarquia em outro documento. As consultas não precisam ser lentas, se você primeiro nivelar a consulta de pesquisa (de acordo com a árvore atual) e depois pesquisar essas tags. Essa abordagem provavelmente não se adapta bem se a consulta de pesquisa achatada acabar tendo centenas de tags nelas (qual é a altura da sua árvore?).
Se as tags não puderem ser movidas para novos pais (ou apenas por você, durante a manutenção programada), vá em frente e incorpore toda a hierarquia.