It can happen in principle that the condition on $f$ will never be satisfied, if, for example, $|f'(x_*)|u>\mathit{tolfun}$, where $u$ is the unit roundoff.
When I tried your example with $K=10^8,y_0=0.1$, and the root $x_0=1.1051709180756475$ (in double precision) has the property that $f(x_0)≈−1.25×10^{−8}$, but $f(x_0+\epsilon)≈6.94×10^{−9}$, where $x_0+\epsilon$ is the next double-precision floating-point number immediately after $x_0$. So there are no such numbers for which $|f|<10^{-9}$. I think it's also possible to come up with easy polynomial examples by, e.g., taking characteristic polynomials of random integer matrices.
In general, the relationship between the residual of the equation $f(x)=0$ and the error $x-x_*$ depends on the function itself. You know that asymptotically both $f(x)$ and $x-x_*$ will converge to zero, but to derive a bound of the true error $x-x_*$ from the residual $f(x)$ requires making assumptions on $f$. If you know the value of $|f'(x_*)|$, then you know that $|x-x_*|\approx |f(x)|/|f'(x_*)|$. In the multivariate case, the inequality instead says that
$$\|f(x)\|\|J\|^{-1} \lesssim \|x-x_*\| \lesssim \|f(x)\|\|J^{-1}\|,$$
so you need at least to know the condition of the Jacobian to convert the residual to an error estimate (see Higham's Accuracy and Stability of Numerical Algorithms, 25.5).
All of the above is before you start analyzing the numerical stability of evaluating $f$ near a root. You gave an example of essentially a linear function, but for a typical more complicated function, you wouldn't be able to evaluate $f$ accurately to full machine precision near a root at all, which will also limit how small $f$ can possibly get.