For some reason, in this setup, \mathscr{C} and \mscrC produce different results:
\documentclass[12pt,a4paper]{article}
\usepackage{unicode-math}
\unimathsetup{math-style=TeX}
\setmathfont{Cambria Math}
\setmathfont[range={\mathscr,\mathbfscr},StylisticSet=0]{xits-math.otf}
\begin{document}
\[
\mathscr{C}, \mscrC
\]
\end{document}
In the result, \mathscr{C} respects the remapping, but \mscrC does not. I was under the impression that unicode-math translates the former to the latter, but it seems as if \mathscr here contains some additional processing that "knows" about fonts. A literal ๐ behaves like \mscrC. The only thing that seems to work is redefining \mscrC after \begin{document} to force it to go through \mathscr.
What is
unicode-mathreally doing?How do I work around this?

\mscrCis just an alias for the ๐ character;\mathscrinstead does many things. – egreg May 2 '12 at 14:05