When switch math font with the option range=\mathalpha, the upshape fails to switch but other shapes succeeds.
% !TeX program = xelatex
\documentclass{article}
\usepackage{unicode-math}
\setmathfont{TeX Gyre Schola Math}
\def\mathtest{
\(
\begin{array}{l}
\symup{ABCDEFGHIJKLMNOPQRSTUVWXYZ} \\
\symit{ABCDEFGHIJKLMNOPQRSTUVWXYZ} \\
\symbf{ABCDEFGHIJKLMNOPQRSTUVWXYZ} \\
\end{array}
\)
}
\begin{document}
\raggedright
\mathtest
\setmathfont{XITS Math}[range={\mathalpha}]
\mathtest
\end{document}
The result:

It is similar to issue #649