Actually, (\x.\x.(x x)) \z.z
is alpha equivalent to (\x.\y.(y y)) \z.z
because variables are always bound to the closest lambda abstraction.
This means (\x.\x.(x x)) \z.z
is beta equivalent to \x.(x x)
.
Substitution is never done on lambda abstractions, the \x.
part.