O sintagma «um tesouro escondido» não é sujeito do verbo haver. O verbo haver neste contexto é sinónimo de existir e constrói-se de forma diferente deste verbo. Nesta acepção, haver não tem sujeito e é transitivo directo, sendo o seu objecto directo o nome da coisa existente. O verbo haver emprega-se como impessoal, isto é, sem sujeito, quando significa «existir», ou quando indica tempo decorrido. Neste caso, em qualquer tempo, conjuga-se na 3.ª pessoa do singular.
Existir, ao contrário, é intransitivo e possui sujeito expresso pelo nome da coisa existente:
«Há um tesouro escondido nesta floresta.» = «Existe um tesouro escondido nesta floresta.»
Assim, no exemplo que dá, «um tesouro escondido» desempenha a função sintáctica de objecto directo do verbo haver. Segundo a TLEBS, o constituinte «um tesouro escondido» desempenha a função sintáctica de complemento directo.