Define $f : C \to C$ by the formula $$ f(x) = x_0 \cdot (x \oplus \sigma(x)) $$ where $\cdot$ is word concatenation, $\oplus : C \times C \to C$ is coordinatewise xor, and $\sigma(x)_i = x_{i+1}$ is the shift. Clearly this map is continuous and preserves $=^*$. It is a bijection because you can deduce the preimage one coordinate at a time, which amounts to summing the prefix, $f^{-1}(x)_i = \bigoplus_{j \leq i} x_i$. By compactness $f$ is a homeomorphism. However, $f(0^\omega) = 0^\omega$ and $f(1^\omega) = 10^\omega$, so $f$ does not respect $=^*$. The idea is that a surjective non-injective one-dimensional cellular automaton forgets a finite amount of ("global") information on every step. I picked the xor CA $x \mapsto x \oplus \sigma(x)$ and also wrote the single bit that's forgotten (in the form of the first coordinate) to make it a homeomorphism. This is simple enough that you can randomly stumble upon the formula, but turning xor injective this way is actually a pretty important idea in cellular automata theory. To name just one example, Kari's proof of the undecidability of reversibility of cellular automata on free abelian groups of rank $\geq 2$ (i.e. whether the CA is a homeomorphism on the full shift) uses this trick to turn a cellular automaton injective if a Turing machine halts; you are applying xor on a one-dimensional snake and you cut off its head if the machine halts.