Since you have decided to put limits underneath the \lim, you might also want to change format of this limit and normalise spacing between terms by setting custom values to \thinmuskip and \medmuskip.Note to keep those settings within a group so they won't affect the rest of the document.
Another problem is the limits are long. For this particular case, I'd use array instead of the \limits to: have more control over a gap between limits and \lim; align limits with operator \lim.

\documentclass{article}
\usepackage{amssymb,mathtools}
\NewDocumentCommand{\xlim}{e_}{%
\mathop{
\begin{array}[t]{@{}l@{}}
\lim \[\dimexpr7pt-\normalbaselineskip]
\mathrlap{\scriptstyle#1} \[\dimexpr0.2\normalbaselineskip-4pt]
\end{array}}}
\begin{document}
\begingroup
\thinmuskip=8mu plus 6mu minus 9mu
\medmuskip=14mu plus 6mu minus 8mu
\renewcommand*{\arraystretch}{1}
[
\lim\limits_{\rule{0pt}{5pt}\mathclap{x\to+\infty}} f(x)
= \frac{
;
\xlim_{x\to+\infty} 1
+ \xlim_{x\to+\infty} 1/x^2
+ \xlim_{x\to+\infty} 3/x^3
+ \xlim_{x\to+\infty} 1/x^4
;
}{
\xlim_{x\to+\infty} -4
+ \xlim_{x\to+\infty} 5/x^3
- \xlim_{x\to+\infty} 1/x^4
} = -\frac{1}{4}
]
\endgroup
\end{document}