In order to understand the geometry of the rational points on $S^1=\{(x,y)\in\Bbb R^2\,|\,x^2+y^2=1\}$ it is important to remark that these can be parametrized effectively.
Consider the lines through the point $P=(1,0)\in S^1$. With the usual exception of the vertical line $x=1$ which is in fact tangent to $s^1$ at $P$, these lines have cartesian equation
$$
y=m(x-1)\qquad\qquad (\ast)
$$
where $m\in\Bbb R$ is the slope.
Each of these lines intersects $S^1$ at a second point $Q$ whose $x$-coordinate can be computed by solving the degree $2$ equation obtained plugging the equation of the line into the equation of the circle, namely
$$
x^2+m^2(x-1)^2=1. \qquad\qquad (\ast\ast)
$$
Recall that in a quadratic equation $x^2+ax+b=0$ we have $a=-\lambda_1-\lambda_2$ where $\lambda_1$ and $\lambda_2$ are the two solutions.
When $m\in\Bbb Q$ the coefficients of the equation $(\ast\ast)$ are in $\Bbb Q$ and since $\lambda_1=1$ by construction we have $\lambda_2\in\Bbb Q$ as well.
The $y$-coordinate of $Q$ can be computed plugging its $x$-coordinate into $(\ast)$ and so also the $y$-coordinate is in $\Bbb Q$.
Therefore the rational points in $S^1\setminus\{P\}$ are in one-to-one correspondence with the lines through $P$ with rational slope, i.e. with $\Bbb Q$. By continuity this shows that the rational points are dense in $S^1$.
By the way, this construction shows that the primitive Pythagorean triples can be parametrized by $\Bbb Q$ as well (see Hans Engler's answer)