It's true that there are null geodesics that stay permanently on the event horizon, but the derivation in the textbook is wrong. Schwarzschild coordinates don't cover the event horizon, so you can't use them to analyze what happens there. $r=R_s$ is, as you said, a coordinate singularity; neither light nor anything else can be frozen in time or do anything else at $r=R_s$, because it isn't actually a part of the manifold.
The answer to that other question (direct link) is also wrong: it says
This is a coordinate singularity, and that's what defines the event horizon.
but the event horizon most definitely is not defined as the place where there's a coordinate singularity in some silly man-made coordinate system. The event horizon is the boundary between the region from which you can reach future infinity and the region from which you can't, which is independent of coordinates.
The coordinate singularity problem is peculiar to Schwarzschild coordinates and is not shared by other popular coordinate charts for the Schwarzschild geometry, such as Eddington-Finkelstein infalling coordinates: $$ds^2 = (1-R_s/r)(c\,dt)^2 - 2 (R_s/r)\,c\,dt\,dr - (1+R_s/r)\,dr^2 - r^2 (dθ^2 + \sin^2 θ\,d\phi^2)$$
If you do the same calculation as the textbook, setting $r=R_s$, $ds=0$, and $dθ=d\phi=0$, you'll find $dr/dt\in\{-c,0\}$, indicating that outgoing null geodesics are "frozen" at this radius while ingoing null geodesics go right through it, as you'd expect of a one-way surface. $r=R_s$ in Eddington-Finkelstein coordinates actually is the event horizon. (In Schwarzschild coordinates you instead get $dr/dt\in\{0\}$, implying that ingoing and outgoing geodesics are both frozen and never separate even though they're moving away from each other at the speed of light, which is another sign that there's something wrong with those coordinates.)