As your qiestion operates with $f(\partial D)$, I assume that $f$ is continuous in $\overline{D}$, though you do not mention this explicitly. Then the answer is yes. Suppose wlog that $0\not\in f(\partial D)$. Suppose by contradition that zeros of $f$ have an accumulation point $z^*$ in $D$. Then, according to a theorem of Vilmhurst, there is an open analytic arc $\gamma$ which has $z^*$ in its interior, and such that $f(z)=0$ on $\gamma$. Consider now this whole arc $\gamma$ (the maximal arc on which $f(z)=0$). It cannot reach the boundary $\partial D$ because on $\partial D$ we have $|f(z)|>\delta>0$ by assumption. So $\gamma$ must contain a loop, but then $f\equiv 0$ inside this loop and thus everywhere. Vilmhurst, The valence of harmonic polynomials, PAMS 126, 7 (1998) 2077-2081, Theorems 3, 4. I don't know whether this argument generalizes to CAT(0) spaces because I do not know what is a harmonic maping into a CAT(0) space.