Limit point of an infinite set in a compact space

The sets $X_n$ are closed because (by assumption) the set $X$ has no limit point.

A point $y \in \overline{X_n}\setminus X_n$ would be a limit point of $X_n$, hence a fortiori of $X$.

Your example of $x_n = \frac1n$ in $[0,\,1]$ has a limit point, namely $0$, and therefore the above cannot be applied to it (the $X_n$ are not closed, if you take the intersection of the $\overline{X_n}$, you get a nonempty infinite intersection; the crux is that for any sequence $(x_k)$, the intersection $\bigcap_{k \in \mathbb{N}} \overline{X_k}$ is the set of limit points of $X = \{x_0,\, x_1,\,\ldots\}$).

Your alternative proof is correct, and one of the (many) standard proofs.