This is expected. From the Reduce documentation, under "More Information":
Reduce[expr, vars] assumes by default that quantities appearing algebraically in inequalities are real, while all other quantities are complex.
http://reference.wolfram.com/mathematica/ref/Reduce.html
So you need to specify Complexes as the domain:
Reduce[(z - a)/(1 - Conjugate[a]*z) == w && a*Conjugate[a] < 1 && w*Conjugate[w] < 1, z, Complexes]
Bhuvanesh,
Wolfram Research