1.I have located the problem is caused by \rm
command;
2.There is warnning log when run in Overleaf:
Package fontspec Warning: Font "Times New Roman" does not contain requested Script "Math".
./name.tex
Package fontspec Warning: OpenType feature 'Style=MathScript' (ssty) not available for font 'Times New Roman' with script '' and language 'Default'.
./name.tex
Package fontspec Warning: OpenType feature 'Style=MathScriptScript' (ssty) not available for font 'Times New Roman' with script '' and language 'Default'.
3.Example:
\usepackage[no-math]{fontspec}
\showoutput
\setmainfont{Times New Roman}
\RequirePackage[bold-style=ISO, mathbf=sym]{unicode-math}
\setmathfont{TeX Gyre Termes Math}
\setmathfont{XITSMath-Regular}[range={"1D70B, "2605, "2ACB, "2AFD, "23DC}]
\setmathfont{STIX Two Math}[range={"221A, "221B, "221C}]
\setmathfont{Times New Roman}[range={"03C0}]
\setmathfont{XITSMath-Regular}[range={"2A00-"2AFF}]
\DeclareMathAlphabet{\mathit}{TU}{lmr}{m}{it}
\begin{document}
$(\alpha \in \rm\mathbf Q\ and \ \alpha != 0)$\par
\end{document}
\rm
has been deprecated for about 30 years.\rm
in latex($\alpha\in\symbf{Q}$ and $\alpha\neq0$)
\mathrm
(\rm
isn't even mentioned in the latex manual)