The \subnode command from tikzmark is designed for this sort of situation. It fakes a node around text that's inside a \node. It does need a few compilation runs to settle (it took 3 for this code for me) and you must remember the remember picture key on the tikzpicture.
\documentclass{article}
%\url{https://tex.stackexchange.com/q/582127/86}
\usepackage{tikz}
\usetikzlibrary{tikzmark, arrows.meta}
\begin{document}
\begin{tikzpicture}[>=Latex,remember picture]
\node (eipi) at (0,0) {(e^{i\pi}+1=0)};
\node at (0,-1) {(\subnode{e}{e}^{\subnode{i}{i}\subnode{pi}{\pi}}+\subnode{one}{1}=\subnode{zero}{0})};
\draw[<-] (e) to[out=-90, in=90] ++(-2,-1) node[below] {Base of natural logarithm};
\draw[<-] (i) to[out=135, in=0] ++(-2,1) node[left] {A square root of (-1)};
\draw[<-] (pi) -- ++(0,-2) node[below] {Area of a unit circle};
\draw[<-] (one) to[out=-45, in=180] ++(2,-1) node[right] {Unity};
\draw[<-] (zero) -- ++(2,0) node[right] {Zilch};
\draw[<-] (eipi) -- ++(0,1) node[above] {An ugly equation};
\end{tikzpicture}
\end{document}

I'm curious why you've started the math text in the nodes with
– Brian Fitzpatrick Feb 20 '21 at 20:44\(. I was writing a document earlier that didn't work correctly when I used$but then did work when I switched to\(. Any idea why?$. If you have an example then feel free to send it my way (open an issue on https://github.com/loopspace/tikzmark or email me directly - my email is in the tikzmark documentation). In general, though,\(is to be preferred to$, see https://tex.stackexchange.com/q/510/86 for a bit more on that. – Andrew Stacey Feb 21 '21 at 19:57remember picture. When I edited my original document I must have changed the node name in addition to switching the$to\(. – Brian Fitzpatrick Mar 02 '21 at 19:20