I cannot find a good source, but I am sure that the standard does not require the presence of aliases of the projected columns inside the correlated subquery. I just tried this on SQL Server and Oracle, and both of them seem to agree with PostgreSQL here, abandoning the use of x in the correlated subquery, regardless of the position of the external selection it is in.
This is similar to how MySQL allows the following query:
SELECT a + 1 x FROM t ORDER BY x + 1
but SQL Server and Postgres do not. MySQL seems more permissive regarding the use of aliases in various statements than the standard requires.
source share