Consider the code
\documentclass{article}
\usepackage{unicode-math}%%% If running under lualatex or pdflatex
\newcommand{\pSymbol}{\prec}
\begin{document}
(\not\prec_a) (\not\pSymbol_a)
\end{document}
Under pdflatex (without unicode-math), both outputs coincide, giving an expected "does not precede" symbol with the subscript "a". Under xelatex, they don't; the second one is garbage.
Anonymous
Possibly a bug in unicode-math rather than in xetex. Needs to be checked.
As of now, the second output looks bad (but is no longer garbage). Running xelatex on
yields https://i.imgur.com/8SeM0hl.png .