Toma $X = \{ (x,y) \in \mathbb{R}^2 : x^2+y^2 < 1 \} \cup \{ (x,y) \in \mathbb{R}^2 : x^2 + y^2 = 1, x \ge 0\}$, un disco con solo la mitad de su frontera (la mitad que incluyes es un intervalo cerrado). Toma $Y$ algo parecido pero con un anillo: $Y = \{ (x,y) : 1 < x^2+y^2 < 2 \} \cup \{ (x,y) : x^2+y^2 \in \{1,2\}, x\ge 0\}$.
Defines $\phi : X \to Y$ estirando a $X$ y enrollándolo hasta que un intervalo en la parte de la frontera que incluiste toque a un intervalo en la parte que no incluiste. Defines $\psi : Y \to X$ cerrando el hoyo del anillo identificando la mitad de la frontera del hoyo que incluiste con la mitad que no. Ambas son más claras con dibujos.
Añadido: Ya ni me acordaba pero googleando me encontré a mi mismo describiendo este ejemplo en el 2007. Ahí digo que ese ejemplo me lo contó un amigo pero ahora, ¡ya no me acuerdo quien fue! También ahí describo otro ejemplo que se me ocurrió, pero con espacios disconexos:
Toma $X = (\mathbb{N} \times (0,1)) \sqcup \mathbb{N}$, una cantidad numerable de intervalos abiertos más una cantidad numerable de puntos, y $Y = (\mathbb{N} \times (0,1]) \sqcup \mathbb{N}$, una cantidad numerable de intervalos semiabiertos más una cantidad numerable de puntos.
Para definir $\phi : X \to Y$ divide los puntos sueltos de $X$ en dos conjuntos numerables y usa uno de ellos para tapar un extremo de cada intervalo abierto, mientras que mandas el resto de los puntos sueltos a los puntos sueltos de $Y$. (O sea, $\phi$ manda a $(0,1) \times \{n\}$ a $(0,1] \times \{n\}$ por medio de la inclusión, manda $2n$ al punto faltante $(1,n)$ y manda los impares $2n+1$ a $n$.)
Para definir $\psi : Y \to X$ divide los intervalos semiabiertos de $Y$ en una colección numerables de familias numerables. A cada familia numerable de semiabiertos los mandas a un solo abierto poniéndolos uno tras otro (como en la biyección continua $(0,1] \times \mathbb{N} \to (0,\infty)$ dada por $(x,n) \mapsto x+n$), a los puntos sueltos de $Y$ los manda por la identidad a los puntos sueltos de $X$.