Why is Read(Q) timestamp is not checked when a transaction issues a command reading Q?

Consider a concurrent schedule of two transactions $T_1,T_2$:

$R_x(Q): T_x$ Reads $Q$

$W_x(Q): T_x$ Writes $Q$

$S:R_2(A),R_1(A),W_1(A),W_2(A)$, this schedule is not conflict serializable.However, if we follow timestamping protocol, where $TS(T_1)<TS(T_2)$ S is allowed because $T_1$ can read a variable after $T_2$ has read it, which is not conflict equivalent to schedule $T_1 T_2$ and is contradictory to the fact that timestamping protocol gives a conflict serializable schedule. What am I missing here?