Der Grund dafür ist, dass Oracle annimmt, dass Sie sich auf die Spalte aus der äußeren Abfrage beziehen, wenn eine Spalte ohne Alias nicht in der Unterabfrage, aber in der äußeren Abfrage vorhanden ist.
Mit Aliasen würde die Abfrage, über die Sie verwirrt sind, wie folgt aussehen:
select *
from test_values tv
where tv.tst_id in (select tv.tst_id2
from test_lookup tl
where tl.tst_value = 'findMe');
Hoffentlich macht das die Sache klarer?
Das Problem, das Sie sehen, ist ein sehr gutes Beispiel dafür, warum Sie Ihre Spalten immer mit der Tabelle kennzeichnen sollten, aus der sie stammen - es macht es viel einfacher, die Abfrage für den Anfang zu verwalten!