Here is a longwinded way involving tedious path surgery.
First we need to show that $Y=\mathbb{R}^n\setminus X$ is path connected.
Pick $x,y \in Y$.Choose $d \neq 0$ such that $d \bot (x-y)$.
Pick $\lambda \in \mathbb{R}$, $t \in [0,1]$ and let
$p_\lambda(t) = x + t(y-x) + (1-|2t-1|) \lambda d$.
(It is easy to see that $p_\lambda$ is the polygonal path $(x,{x+y \over 2}+ \lambda d, y)$.)
Since $x-y,d$ are linearly independent, it
is easy to see $p_{\lambda_1}=p_{\lambda_2}$ iff $\lambda_1 = \lambda_2$ .
In fact, if $t_1, t_2 \in (0,1)$, then $p_{\lambda_1}(t_1) = p_{\lambda_2}(t_2)$
iff $\lambda_1 = \lambda_2$ and $t_1 = t_2$.
Each $p_\lambda$ is a path between $x,y$ and at most $|X|$ of these can intersect $X$.
Since there are an uncountable number of such paths, there is at least one path joining $x,y$ hence the set is path connected and so is connected.
Now suppose $x_0 \in Y$ and $\gamma:[0,1] \to Y$ is a closed path based at $x_0$. Since $Y$ is open, we see that $\gamma$ is homotopic to a polygonal closed path in $Y$ also based at $x_0$. Hence we may take
$\gamma$ to be polygonal, that is, straight lines joining a finite number of points
$x_0=\gamma_0,...,\gamma_m = x_0$.
Now consider the finite collection of points $A=\{\gamma_k\} \cup X$. Pick a
hyperplane $H$ passing through $x_0$ such that the orthogonal projections
onto $H$ of the
points in $A$ are distinct. (There are only a finite number of orientations of the hyperplane such that two points in $A$ project to the same point.)
Let $\Pi$ be the orthogonal projection operator (projects onto the subspace parallel to $H$), and let $h$ be the normal
of the hyperplane.
Since $Y$ is open, we see that $B(x_0,\epsilon) \subset Y$ for some $\epsilon>0$. Let $H_\eta = H+ \{ \eta h\}$. By choosing $\eta$ sufficiently small, we can shift the
hyperplane such that it intersects $B(x_0,\epsilon)$ but passes through
none of the points $X$.
Let $\phi$ be the (affine) orthogonal projection onto $H_\eta$.
Let $B= \{ y | \Pi y = \Pi x \text{ for some } x \in X \}$ (a finite collection of lines perpendicular to $H_\eta$). By construction, none of the points $\gamma_k$
lie in $B$, but it is possible that some segment $[\gamma_i, \gamma_{i+1}]$
intersects $B$.
Suppose a segment $[\gamma_i, \gamma_{i+1}]$ intersects $B$. Pick a direction
$d$ that is perpendicular to $\gamma_{i+1}-\gamma_{i}$ and $h$ (this is where
$n\ge 3$ comes in). As above, define
$p_\lambda(t) = \gamma_i + t(\gamma_{i+1}-\gamma_{i}) + (1-|2t-1|) \lambda d$,
and let $N= \{ \lambda | p_\lambda([\gamma_i, \gamma_{i+1}]) \cap B \neq \emptyset \}$. Note that $N$ is finite, hence there is some $\delta>0$ such that $p_\lambda([\gamma_i, \gamma_{i+1}])$ does not intersect $B$
for $\lambda \in (0,\delta]$. Hence $p_\lambda([\gamma_i, \gamma_{i+1}])$ does not intersect $X$ for
$\lambda \in [0,\delta]$.
Hence we can continuously modify the path $\gamma$ by adding the point
${\gamma_i +\gamma_{i+1} \over 2}+ \delta d$ while remaining in $Y$.
Repeat this process for all segments that intersect $B$. Hence the original
path is homotopic in $Y$ to a curve that does not intersect $B$.
The points $x_0, \phi(x_0)$ are in $B(x_0,\epsilon)$ and since the ball is
convex, we can see that the modified curve is homotopic in $Y$ to the same
curve with the points $x_0, \phi(x_0)$ prepended (that is, the points on
the path are $x_0, \phi(x_0), x_0=\gamma_0, ...$). In a similar manner, add
the points $\phi(x_0), x_0$ to the end of the path.
The modified path looks like $x_0, \phi(x_0), \gamma_1, ...,\gamma_n, \phi(x_0), x_0$ (the $\gamma_i$ are the modified points).
Now consider the map $\theta_t(x) =(1-t)x+ t \phi(x)$ apply the map to the
portion of the curve $\phi(x_0), \gamma_1, ...,\gamma_n, \phi(x_0)$. Hence
the modified path is homotopic in $Y$ to the path
$x_0, \phi(x_0), \phi(\gamma_1), ...,\phi(\gamma_n), \phi(x_0), x_0$, and
since the points $\phi(x_0), \phi(\gamma_1), ...,\phi(\gamma_n), \phi(x_0)$ lie
in the convex set $H_\eta \subset Y$ the curve is homotopic to the
curve $x_0, \phi(x_0), x_0$, and since the ball is convex, this curve is
homotopic in $Y$ to the constant curve $t \mapsto x_0$.