Prove that the Kolmogorov Quotient is $T_0$

I am trying to prove the following (more on the background below)

Let $(X, \tau)$ be a space, $KQ(X) := X / \sim$ be the quotient set and $\pi : X \rightarrow X / \sim$ the projection which maps every element to its equivalence class. If $KQ(X)$ is given the final topology of $\pi$, it is a $T_0$ space.

Proof idea

I need to show that every two distinct equivalence classes $[a], [b] \in KQ(X)$ are distinguishable. Instead, I try to prove the contraposition $$[a] \sim [b] ~\Longrightarrow~ [a] = [b] ~\Longleftrightarrow~ a \sim b$$ If $U \subset KQ(X)$ is open, then I have $$a \in \overset{-1}{\pi}(U) ~\Longleftrightarrow~ \pi(a) \in U ~\overset{[a] \sim [b]}{\Longleftrightarrow}~ \pi(b) \in U ~\Longleftrightarrow~ b \in \overset{-1}{\pi}(U)$$ Which is almost what I want, since if I could replace $\overset{-1}{\pi}(U)$ (which is open since $\pi$ is continuous) by any open set $\mathcal{O} \subseteq X$ I would have shown $a\sim b$ by the above. But thus far, I have failed at finding a way to do this.

On any topological space $(X,\tau)$ , you can define an equivalence relation $\sim$ $\subseteq X \times X$ by $$a \sim b ~: \Longleftrightarrow ~ \big( ~\forall U \in \tau : ~ a \in U ~\Leftrightarrow~ b \in U \big)$$ If two points are equivalent, they are called (topologically) indistinguishable. A space is called $T_0$ iff all distinct points are distinguishable ( i.e. $a \neq b \Rightarrow \neg (a \sim b)$ ).

For any space $(X,\tau)$ you can look at the quotient set $X / \sim$ and give it the final topology of the projection to obtain the so called Kolmogorov Quotient $KQ(X)$, which is $T_0$.

Let $[a]$ denote the equivalence class of $a \in X$. If $a \in U \in \tau$, then all $b \sim a$ are contained in $U$, thus $[a] \subset U$.

We show that $\pi^{-1}(\pi(U)) = U$ for all $U \in \tau$. Let $x \in \pi^{-1}(\pi(U))$, i.e. $\pi(x) \in \pi(U)$. Choose $a \in U$ such that $\pi(x) = \pi(a)$. This means $x \sim a$ so that $x \in [a] \subset U$.

In particular $\pi$ is an open map.

Let $\xi_1,\xi_2 \in KQ(X), \xi_1 \ne \xi_2$. Write $\xi = \pi(x_i)$. Then $x_1, x_2$ are not equivalent rel $\sim$, therefore there exists $U \in \tau$ which contains exactly one of $x_1,x_2$. W.l.o.g. assume $x_1 \in U, x_2 \notin U$. Then $\pi(U)$ is open in $KQ(X)$, $\xi_1 \in \pi(U)$, but $\xi_2 \notin \pi(U)$ (otherwise $x_2 \in \pi^{-1}(\pi(U)) = U$ which is a contradiction).

The pair $(KQ(X), \pi)$ has the following universal property:

For any continuous map $f : X \to Y$ to a $T_0$-space $Y$ there exists a unique continuous $f' : KQ(X) \to Y$ such that $f' \circ \pi = f$.

To verify this, we have to show that $a \sim b$ implies $f(a) = f(b)$. Assume $f(a) \ne f(b)$. Then there is an open $V \subset Y$ which contains exactly one of $f(a),f(b)$. But then $f^{-1}(V)$ contains exactly one of $a,b$ which is a contradiction.

Note that if $(KQ'(X), \pi')$ is another pair with the above universal property, then there exists a unique homeomorphism $h : KQ(X) \to KQ'(X)$ such that $h \circ \pi = \pi'$.

The quotient map $\pi$ has a continuous right inverse $\iota : KQ(X) \to X$:

For each $\xi \in KQ(X)$ choose an element $\iota(\xi) \in \pi^{-1}(\xi)$. Note that this requires the axiom of choice if $KQ(X)$ is infinite. By definition $\pi \circ \iota = 1_{KQ(X)}$. $\iota$ is continuous: Let $U$ be an open neighborhood of $\iota(\xi)$. Then $\pi(U)$ is an open neighborhood of $\xi$ such that $\iota(\pi(U)) \subset U$ (for $\xi' \in \pi(U)$ we have $\iota(\xi') \in \pi^{-1}(\xi') \subset \pi^{-1}(\pi(U)) = U$).

For any continuous right inverse $\iota$ the maps $\iota \circ \pi : X \to X$ and $1_X$ are homotopic (i.e. $\pi$ is a homotopy equivalence):

Define $H : X \times [0,1] \to X, H(x,t) = x \text{ for } t < 1, H(x,1) = \iota(\pi(x))$. We have to show that $H$ is continuous. This is obvious in all points $(x,t)$ with $t < 1$. Consider a point $(x,1)$. Let $U$ be an open neighborhood of $\iota(\pi(x))$. Since $\iota(\pi(x)) \sim x$, we have $x \in U$ so that $U \times [0,1]$ is an open neighborhood of $(x,1)$ in $X \times I$. We get $H(U \times [0,1]) \subset U$: For $y \in U$ we have $H(y,t) = y \in U$ for $t < 1$ and $H(y,1) = \iota(\pi(y)) \in \pi^{-1}(\pi(y)) \subset \pi^{-1}(\pi(U)) = U$.