If $$\lim_{x\to\infty}f(x)^{g(x)}=e^k\;,$$ then $$k=\ln\lim_{x\to\infty}f(x)^{g(x)}=\lim_{x\to\infty}\ln f(x)^{g(x)}=\lim_{x\to\infty}g(x)\ln f(x)\;.$$ Thus, in order for the method to work, we must have $$\lim_{x\to\infty}g(x)\ln f(x)=\lim_{x\to\infty}g(x)\left(f(x)-1\right)\;.$$
Using the Maclaurin series for $\ln(1+x)$, we have
$$\begin{align*}
\ln f(x)&=\ln\left(1+f(x)-1\right)\\
&=\sum_{n\ge 1}(-1)^{n+1}\frac{\left(f(x)-1\right)^n}n\\
&\approx f(x)-1
\end{align*}$$
once $f(x)$ is close to $1$, and the error is bounded by $\frac12\left(f(x)-1\right)^2$, which decreases rapidly compared with $|f(x)-1|$.
You can also compare what happens when you apply l’Hospital’s rule to $$\lim_{x\to\infty}\frac{\ln f(x)}{1/g(x)}$$ and to $$\lim_{x\to\infty}\frac{f(x)-1}{1/g(x)}\;:$$ the former gives you $$\lim_{x\to\infty}\frac{f\,'(x)/f(x)}{-\left(g(x)\right)^{-2}g'(x)}=\lim_{x\to\infty}\frac1{f(x)}\lim_{x\to\infty}\frac{f\,'(x)}{-\left(g(x)\right)^{-2}g'(x)}=\lim_{x\to\infty}\frac{f\,'(x)}{-\left(g(x)\right)^{-2}g'(x)}\;,$$ which is exactly what the latter gives you.