[guided]The strong maximum principle must be used on a connected domain, so we first isolate the correct component. Let $C$ be the connected component of $D_r = \Omega \setminus \overline{B}(y,r)$ containing $x_0$. The key topological point is that $C$ really reaches the inner boundary sphere. Since $\Omega$ is open and connected in $\mathbb{R}^n$, it is path connected. Choose a continuous path $\gamma : [0,1] \to \Omega$ with $\gamma(0)=x_0$ and $\gamma(1)=y$. The path starts outside $\overline{B}(y,r)$ because $r<|x_0-y|$, and it ends inside that closed ball because $y \in B(y,r)$. Define $t_* := \inf\{t \in [0,1] : \gamma(t) \in \overline{B}(y,r)\}$. By continuity of $\gamma$, we have $0<t_*<1$ and $\gamma(t_*) \in \partial B(y,r)$; before time $t_*$, the path lies in $D_r$. The set $\gamma([0,t_*))$ is connected and contains $x_0$, so it lies in the connected component $C$. Hence $\gamma(t_*)$ is a limit point of $C$ lying on the inner sphere, and therefore $\overline{C} \cap \partial B(y,r) \neq \varnothing$.
Now assume toward a contradiction that $u_y(x_0)=0$. From the weak maximum principle step we already know $u_y \geq 0$ on $D_r$, so $x_0$ is an interior minimum of the harmonic function $u_y|_C : C \to \mathbb{R}$. The [strong maximum principle](/theorems/32) applies to the connected component $C$, not merely to the possibly disconnected set $D_r$. Indeed, $C$ is an open connected subdomain of $D_r$, the restriction $u_y|_C : C \to \mathbb{R}$ is harmonic because $u_y$ is harmonic on $D_r$, and $x_0 \in C$ is an interior point where the nonnegative harmonic function attains its minimum value $0$. Thus the assumed punctured-domain strong maximum principle may be applied after restricting to this connected component. Therefore $u_y|_C$ is constant on $C$. Since the value at $x_0$ is $0$, the constant is $0$.
Choose $z_* \in \overline{C} \cap \partial B(y,r)$. The [boundary regularity](/theorems/99) already used in the weak maximum principle step gives continuous extension of $u_y$ to the inner boundary sphere. Since $u_y$ is identically $0$ on $C$, taking any sequence of points of $C$ converging to $z_*$ gives $u_y(z_*)=0$. But the inner boundary was chosen so that $u_y(z)>0$ for every $z \in \partial B(y,r)$, in particular $u_y(z_*)>0$. This contradiction shows that the assumption $u_y(x_0)=0$ was impossible, so $u_y(x_0)>0$.[/guided]