Let $U$ be fixed and consider arbitrary $X\subset U^{\omega}$. Let $X_n$ be the set of initial segments of sequences in $X$ of length $n$ (i.e. $X_n=\{\langle x_1,\ldots,x_n\rangle: \vec{x}\in X\}$). Is there guaranteed to be an $n<\omega$ such that $X_n\not= U^n$?
I believe the answer is yes, reasoning as follows: suppose for contradiction that $X_n= U^n$ for all $n$. Since $X$ is a proper subset, there must be some sequence $\vec{u}\not\in X$. But by hypothesis, $\langle u_1,\ldots,u_n\rangle\in X_n$ for all $n$, which would only be possible if $\vec{u}\in X$. But I am unsure about that last step in the reasoning.
Your proof is incorrect: it does not follow that if every initial segment of some $x$ occurs in some $X_n$, then $x\in X$. For instance, let $U = \{0,1\}$ and let $X$ be the set of all sequences with exactly one $1$. So $<1,0,0\ldots>, <0,1,0\ldots>, \ldots$ are all in $X$. Then for each $n$, there is an $x\in X$ with $x\upharpoonright n = <0,\ldots,0>$, however the constant $0$ sequence is not in $X$.
This also can be modified to answer your question more generally: Let $U = \{0,1\}$ and let $X$ be all sequences in $U^\omega$ except the $0$ sequence. Then $X_n = U^n$ for each $n$, yet $X \neq U^\omega$