About a lemma to prove the Cantor-Bernstein-Schroeder theorem.
The equality does not hold: as you've stated, it could be that $\bigcap A_n$ is nonempty. However, we can show that there is a bijection between $A_0$ and $B$ using this idea. Consider the following picture of the situation:
We see there are three types of regions: the region $\mathcal A=\bigcup A_n\setminus B_n$ (yellow), the region $\mathcal B=\bigcup B_n\setminus A_{n+1}$ (blue), and then the remaining elements, $\mathcal C=\bigcap A_n=\bigcap B_n$ (grey).
Note that $A_0\supseteq B_0\supseteq A_1\supseteq B_1\dots\supseteq\mathcal C$.
We define a map $h:A_0\to B$ by letting
\begin{align} h:x\mapsto\begin{cases} f(x)&x\in\mathcal A\\ x&x\in \mathcal B\cup\mathcal C \end{cases} \end{align}
Clearly $h$ is a bijection on $\mathcal B\cup\mathcal C$, since it is the identity function. Since $B=B_0=\mathcal B\cup \mathcal C\cup (\mathcal A\setminus (A_0\setminus B_0))$ (i.e. the set $A_0$ without its outer ring), all we have left to show is that $h$ is also a bijection from $\mathcal A$ to $\mathcal A\setminus(A_0\setminus B_0)$.
I claim that $f\restriction (A_n\setminus B_n)$ is a bijection between $A_n\setminus B_n\to A_{n+1}\setminus B_{n+1}$ for all $n$. It follows from this that $f\restriction \mathcal A$ is a bijection from $\mathcal A\to \mathcal A\setminus (A_0\setminus B_0)$, and thus that $h$ is a bijection $A_0\to B$. Clearly since $f$ is injective, its restriction is also injective.
Let $x\in A_{n}\setminus B_n$, then $f(x)\notin B_{n+1}$, since $f[B_n]=B_{n+1}$ and $x\notin B_n$ and $f$ is injective. Since $x\in A_n$, we see that $f(x)\in A_{n+1}=f[A_n]$. Therefore $f[A_n\setminus B_n]\subset A_{n+1}\setminus B_{n+1}$.
Finally $f\restriction A_n\setminus B_n$ maps surjectively to $A_{n+1}\setminus B_{n+1}$: if $y\in A_{n+1}\setminus B_{n+1}$, then $f^{-1}(y)\in A_n$. We also see $f^{-1}(y)\notin B_{n}$, since $f[B_n]=B_{n+1}$.