I am using the \iteminput macro from the solution at How to adjust macro to respect current \linewidth? to import content from other TeX files. However, this appears to be effecting the indentation of text from \intertext{}. The red text below is where the problem is.
When using the normal \input things work great and the text is left aligned as desired, as shown in (a). However, when using the \iteminput macro the \intertext is shifted to the right, as shown in (b):

I found out that if I remove the \vtop{} from the \iteminput macro, I get the desired behavior. But since this is from an egreg solution, I am reluctant to do that without knowing if that will result in some other problem.
References:
Code:
\documentclass{article}
\usepackage{showframe}
\usepackage{xcolor}% to highlight the problem area in the output
\usepackage[fleqn]{amsmath}
\usepackage{enumitem}
\usepackage{filecontents}
\begin{filecontents}{foo.tex}
Two well known equations are:
\begin{alignat}{3}
E & = mc^2 \
\intertext{\textcolor{red}{and}}
F &= ma
\end{alignat}
\end{filecontents}
\newcommand{\MyInput}[1]{%
\begingroup% The grouping here is not currently causing a problem.
\input{#1}% But do need grouping here (for a unrelated reason).
\endgroup%
}%
% https://tex.stackexchange.com/questions/18247/how-to-adjust-macro-to-respect-current-linewidth/
\newcommand{\iteminput}[2][\topskip-1bp]{%
\leavevmode%
\vtop{% Removing this fixs the problem.
\hsize=\noexpand\linewidth\hrule height 0pt\kern-\dimexpr#1\relax%
\MyInput{#2}%
}%
}%
\begin{document}
\begin{enumerate}[label={(\alph*)}]
\item \input{foo} % This works great
\item \iteminput[2.5ex]{foo} % This shifts "and" to right!!
\end{enumerate}
\end{document}