As your question 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, the zero set of $f$ is discrete (not just totally disconnected).
Suppose wlog that $0\not\in f(\partial D)$. Suppose by contradiction that zeros of $f$ have an accumulation point $z^*$ in $D$. Then, according to a theorem of VilmhurstWilmshurst, 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.
A. VilmhurstWilmshurst, 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 mapping into a CAT(0) space.