If you simplify your example it is easier to see where the space is coming from (and the fact that it is a line of a paragraph, not a space)
\documentclass[]{article}
\usepackage{xcolor}
\usepackage{amsmath}
\showoutput
\showboxdepth4
\begin{document}
1
\begin{equation}\label{eq1}
xx
\end{equation}
2
\makeatletter
\renewenvironment{equation}{%
\incr@eqnum
\mathdisplay@push\color{red}%%%%
\st@rredfalse \global\@eqnswtrue
\mathdisplay{equation}%
}{%
\endmathdisplay{equation}%
\mathdisplay@pop
\ignorespacesafterend
}
\makeatother
3
\begin{equation}\label{eq2}
xx
\end{equation}
4
\end{document}
produces

Looking after the log you see that the first equation and the following paragraph "2" is
...\hbox(7.5+2.5)x178.21527, shifted 166.78473
....\hbox(4.30554+0.0)x11.43054, display []
....\kern154.00691
....\hbox(7.5+2.5)x12.77782, display []
...\penalty 0
...\glue(\belowdisplayshortskip) 6.0 plus 3.0 minus 3.0
...\glue(\parskip) 0.0 plus 1.0
...\glue(\baselineskip) 3.05556
...\hbox(6.44444+0.0)x345.0, glue set 324.99998fil
....\hbox(0.0+0.0)x15.0
....\OT1/cmr/m/n/10 2
so you just have the normal space before a paragraph plus \belowdisplayshortskip
space.
Compare with the the second equation and the paragraph "4"
...\hbox(7.5+2.5)x178.21527, shifted 166.78473
....\hbox(4.30554+0.0)x11.43054, display []
....\kern154.00691
....\hbox(7.5+2.5)x12.77782, display []
...\penalty 0
...\glue(\belowdisplayshortskip) 6.0 plus 3.0 minus 3.0
...\glue(\baselineskip) 9.5
...\hbox(0.0+0.0)x345.0, glue set 345.0fil
....\pdfcolorstack 0 pop
....\penalty 10000
....\glue(\parfillskip) 0.0 plus 1.0fil
....\glue(\rightskip) 0.0
...\glue(\parskip) 0.0 plus 1.0
...\glue(\baselineskip) 5.55556
...\hbox(6.44444+0.0)x345.0, glue set 324.99998fil
....\hbox(0.0+0.0)x15.0
....\OT1/cmr/m/n/10 4
Here you see that the paragraph that started "3" and was interrupted by the math display has a final (white) line that just contains the colour restore.
The colour restore is not just a switch of state like restoring a font at the end of a group it is a real node in the list (much like an empty box, technically a whatsit node) and as there is another node in the list display math returns first to horizontal mode, and then the blank line ends the paragraph so you get a final all-white line of paragraph.
Note this is not vertical space and would not for example be dropped at a page break.
If you insert the colour nodes in safer places then

\documentclass[]{article}
\usepackage{xcolor}
\usepackage{amsmath}
\showoutput
\showboxdepth4
\begin{document}
1
\begin{equation}\label{eq1}
xx
\end{equation}
2
\makeatletter
\renewenvironment{equation}{%
\incr@eqnum
\mathdisplay@push
\st@rredfalse \global\@eqnswtrue
\let\zzz\tagform@
\def\tagform@##1{\textcolor{red}{\zzz{##1}}}%%%
\mathdisplay{equation}%
\begingroup\color{red}%%%%%
}{%
\endgroup\endmathdisplay{equation}%
\mathdisplay@pop
\ignorespacesafterend
}
\makeatother
3
\begin{equation}\label{eq2}
xx
\end{equation}
4
\end{document}
\end{equation}
in case 1. Or at least replace it with\hspace{\parindent}
if a new par is wanted.\color{red}
command is causing the difference in spacing.