From an exercise and proof in Principles of Quantum Mechanics:
Question: The author instructs us to "expand $f(x)$ near such points in a Taylor series, keeping the first nonzero term. This is what the proof answer provides when it assumes that $f(x) = f'(x_i)(x-x_i)$. But why do we only keep the first non-zero term? What about the other terms? Do we have that $f^n(x_i) = 0$ for $n > 1$ If so, why?

There is no need to expand in a series; indeed there is no need for $f$ to have more than one derivative at all in order to make sense of $\delta(f(x))$.
What is really happening is that you locally invert $f$. That is, $f$, being a differentiable function that is assumed to never have zero derivative at any of its zeros, can be locally inverted around each of its zeros. So you split the domain into $n+1$ pieces; on $n$ of them, $f$ has exactly one zero and is locally invertible, and on the last one $f$ has no zero. The last one should "obviously" not contribute to the integration.
For the other pieces, say $h_k$ is the local inverse of $f$ on $I_k$. Then you have $\int_{I_k} g(x) \delta(f(x)) dx = \int_{f(I_k)} g(h_k(u)) \delta(u) \left | \frac{dx}{du} \right | du$. (The inclusion of the absolute value can be justified by doing case work based on the sign of $\frac{dx}{du}$ on $I_k$, paying attention to the orientation of the domain in the two cases.)
From the inverse function theorem you have $\left | \frac{dx}{du}(u) \right | = \frac{1}{|f'(h_k(u))|}$ (the usual thing you do during $u$ substitution), so by the definition of the delta function you get $\frac{g(h_k(0))}{|f'(h_k(0))|}$ from the integration on $I_k$.