In realtà, tranne il sapere qual'è l'oggetto parent (che poi, come hai visto non serve), con la TreeView non sai in quale livello sei.
L'unico modo, che poi è quello che hai notato, è proprio impostare la chiave in modo da metterci anche il livello. Anche se può apparire brutto, la cosa diventa molto potente se imposti la stringa key in modo che rappresenti sia l'elemento che tutta il resto della scaletta, fino ad arrivare al top. Se separi i vari elementi con un carattere preciso (es. il carattere "&"), splittandolo in un array puioi sapere a che livello sei, qual'è l'oggetto, qual'è il suo parente, ecc...
Idem con patate, quando crei la chiave, devi ricordarti di dirgli esattamente la chiave del parent.
Spero di essemi spiegato bene, ma dopotutto avevi già identificato il sistema per gestire la cosa.