Il motivo è perché quando una colonna senza alias non esiste nella sottoquery ma esiste nella query esterna, Oracle presume che ti riferisci alla colonna della query esterna.
Con gli alias, la query su cui sei confuso sarebbe simile a:
select *
from test_values tv
where tv.tst_id in (select tv.tst_id2
from test_lookup tl
where tl.tst_value = 'findMe');
Si spera che questo renda le cose più chiare?
Il problema che stai riscontrando è un ottimo esempio del motivo per cui dovresti sempre etichettare le colonne con la tabella da cui provengono:per cominciare, è molto più semplice mantenere la query!