So here is my attempt to clean up and clarify the other answer.
We pick $A,B \in \Bbb R^2 \setminus S$
For some disks $D_n = B(c_n,r_n)$ we're going to find a "thickening" of $D_n$, $T_n$, such that its border $B_n$ is disjoint from every disk, and find a continuous projecti
on $f_n : T_n \setminus \{ c_n\} \to B_n$.
We also want the $T_n$ to be disjoint form each other, to not contain $A$ and $B$, and we want every disk to be included in exactly one of them.
By area considerations, for any compact set $K$ and radius $r$, there is a distance $d(K,r)$ such that for any disk $D$ of radius larger than $r$, the distance from $K$ to $D$ is either $0$ or strictly larger than $d(K,r)$.
Also I denote $B(K,d)$ the set of points that are at distance less than or equal to $d$ from $K$
We start by enumerating the disks, and repeatedly look at the smallest index $n$ of a disk not contained in a already constructed thickening of a previous disk. We have to build a thickening $T_n$ of $D_n$.
We start with $K_0 = D_n$ and $\phi_0 : K_0 \setminus \{c_n\} \to K_0$ to be the radial projection onto its boundary.
Because there have been finitely many thickenings constructed so far, $K_0$ is at a positive distance from their reunion, and so there is a distance $d_0$ such that $B(K_0,d_0)$ doesn't intersect any thickening, any disk of radius $>1$, nor $A$ or $B$. We will want to have $T_n$ to stay within distance $d_0$ of $K_0$.
Let $e_0 \le \min(d_0/6,d(K_0,d_0/6))$ such that $L_0 = B(K_0,e_0)$ is not tangent to any disk (this is possible because there are countably many disks and uncountably many reals). There is an obvious continuous projection from $L_0 \setminus K_0^\circ$ to its boundary so we notice that it moves every point by at most $e_0$ and compose it with $\phi_0$ to get $\psi_0$.
Now the boundary of $L_0$ may intersect infinitely many disks (of radius less than $d_0/6$), but only a finite number of disks of radius larger than $e_0$.
Let $K_1$ be the reunion of $L_0$ and the disks of radius larger than $e_0$ it intersects. Since there were finitely many disks, $K_1$ is compact and stays within $3d_0/6$ of $K_0$.
For every disk added we project the region that sticks out to its boundary, for example by choosing a point of its circumference inside $L_0$ and projecting radially away from that point. Doing so moves every point by at most $2d_0/6$ and we compose it with $\psi_0$ to get $\phi_1$.
The boundary of $K_1$ is made of finitely many arc circles, with no two consecutive arc radius larger than $e_0 \le d_0/6$.
Now we pick $d_1 \le \min (d_0/6, d(K_1, e_0))$ such that the $d_1$-thickening from an arc of $K_1$ doesn't meet the thickening from any other arc, except for consecutive arcs. Then $B(K_1,d_1) \subset B(K_0,d_0)$
Now the goal is to build a simply connected compact set $K_2$ and a distance $d_2$ such that $K_1 \subset K_2^\circ \subset K_2 \subset B(K_2,d_2) \subset B(K_1,d_1)$ ; $K_2$'s boundary is made of finitely many arc circles, where among two consecutive arc circles, one of them has radius $\le d_1/6$. Together with a projection from $K_2 \setminus K_1$ to the boundary of $K_2$ that moves points by at most some $O(e_0)$.
Then we choose $e_1 \le \min(d_1/6,d(K_1,d_1/6))$ such that $L_1 = B(K_1,e_1)$ is not tangent to any disk. Moving the boundary of $K_1$ to the boundary of $L_1$ can also be done radially from each center of the disks from each arc, except at the corner cases where two bands overlap or go backwards. We can send all those points in a straight line onto the new corner and we still have a continuous projection that moves every point by at most $e_1$.
Here there may be (possibly infinitely many, possibly zero) disks of radius less than $d_1/6$ that touch the $e_1$-thickening of consecutive arcs. So at each corner we push the area in the corner to the outer border of a hypothetical disk of radius $d_1/6$ tangent to both arcs. Such a disk stays within $d_1$ of $K_1$ (because $e_1+2d_1/6 < d_1$) and so it can't touch non consecutive arcs. We move the points for example by projecting in a direction parallel to the tangent line in the corner. The maximum displacement is bounded by the circumferences of the two smaller two disks out of three, so it's a $O(d_1/6+(e_0+e_1)) = O(e_0)$.
Let $M_1$ be the resulting set after pushing out every corner.
Now the boundary of $M_1$ may intersect infinitely many disks (of radius less than $d_1/6$), but only a finite number of disks of radius larger than $e_1$. Among two consecutive arcs of $M_1$, one of them has radius less than $d_1/6$.
Let $K_2$ be the union of $M_1$ and the disks of radius larger than $e_1$ it intersects, again along with the possible corners filled up.
Filling the corner displaces points by a $O(e_1+d_1/6)$, and then pushing up to the outer border of the new disks by $2e_1$.
$K_2$ is simply connected, compact and stays within $5d_1/6$ of $K_1$ so it is still within $d_1$ of $K_1$. Its border is made of finitely many arcs, with no two consecutive arc radius larger than $d_1/6$
And so on.
At every step, we get $K_i \subset K_{i+1}^\circ \subset K_{i+1} \subset B(K_{i+1},d_{i+1}) \subset B(K_i,d_i)$, and every disk of radius greater than $e_i$ is either completely outside $B(K_{i+1},d_{i+1})$ or completely inside $K_{i+1}$.
We take $T_n = \cup K_i$
From $\phi_i$ to $\phi_{i+1}$ we only displace points by at most some $O(d_i)$. Since this sequence converges to $0$ geometrically, the sequence $(\phi_i)$ converges uniformly to a continuous projection $f_n$
Since the image of $f_n$ stays squeezed between $K_{i+1}$ and $B(K_{i+1},d_{i+1})$, $f_n$ pushes out everypoint of $T_n$ (which is not necessarily closed) on its boundary, which doesn't intersect any disk at all.
After covering every disk of $S$ by a thickening $T$, we compose every projection together to get a continuous map $\Bbb R^2 \setminus C \to \Bbb R^2 \setminus S$ where $C$ is a countable set consisting of the center of the disks we selected previously.
Then we apply this map on any path from $A$ to $B$ that doesn't pass through any point in $C$, and we obtain a path from $A$ to $B$ that stays outisde $S$.