You have to be careful with local coordinates: they are indeed local so the expression you will get for $df$ depends on the given chart. I think some of your confusion stems from the fact that you are trying to use the ambient coordinates $(x,y)$ on $\mathbb R^2$ as local coordinates on $S^1$, as opposed to the usual approach of introducing an angular coordinate $\theta$ which reduces the amount of charts needed. Specifically, in order to make sense of your approach we need four charts

$U_x^+ = \{(x,y) \in S^1 : x > 0\}$, $U_x^- = \{(x,y) \in S^1 : x < 0\}$, $U_y^+ = \{(x,y) \in S^1 : y > 0\}$, $U_y^- = \{(x,y) \in S^1 : y < 0\}$,

as opposed to needing only two charts if we were working with an angular coordinate. For concreteness suppose that we look at the chart $\phi:U_y^+ \to \mathbb{R}$ which flattens down the northern hemisphere, $\phi(x,y) = x$, as well as the chart $\psi:U^+_x \to \mathbb R$ which flattens the right side of the circle, $\psi(x,y) = y$. The transition maps look like $\phi \psi^{-1}(y) = x = \sqrt{1-y^2}$. So your $df$, which is just $dx$ in the first chart, takes the form $d(\sqrt{1-y^2}) = \frac{-y}{\sqrt{1-y^2}} dy$ in the second chart.

In a similar vein you should be careful to note that the tangent vectors to $S^1$ denoted by $\frac{\partial}{\partial x}\rvert_p$ in these coordinates are not the usual horizontal tangent vectors in $\mathbb R^2$. If we denote by $\iota:S^1 \to \mathbb R^2$ the inclusion then for instance $\iota \phi^{-1}(x) = (x, \sqrt{1-x^2})$ so that $\iota_*(\frac{\partial}{\partial x}\rvert_p) = \left(1,\frac{-x}{\sqrt{1-x^2}}\right)$ (which is an actual tangent vector to the unit sphere).