Conjecture: Neither Computer Modern Symbol's script nor its successor,
Latin Modern Symbol's script, provide the symbols the MATH table
requires. The OMS encoding does not provide lower-case script. Euler
does. Hence, the script symbols are taken from Euler rather than Latin
Modern Symbol.
The font you show as Latin Modern script is only one of Latin Modern's. In particular, it is not what is used for \mathcal
with traditional fonts.
\documentclass{article}
\usepackage{cfr-lm}
\begin{document}
$\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$
\end{document}
The same result can be obtained by loading lmodern
or, with no packages, by using
\fontencoding{OMS}\fontfamily{lmsy}\selectfont

In order to qualify as a maths opentype font, Latin Modern Math has to provide a complete MATH table and this requires a number of script fonts and maths alphabets - more than those provided by Computer Modern or the type1 version of Latin Modern derived from it.
For this reason, the developers of Latin Modern Math also based some elements of this font on fonts other than Computer Modern. This includes the calligraphic and fraktur fonts which are, as you say, based on Euler. (This is explained in the README.) I would have guessed from the README that the font derived from Computer Modern Symbol, on which Latin Modern Symbol is based, would be available in Latin Modern Math, but that it is expected to be accessed as \mathscr
.
The math OTF fonts should contain a special table, MATH, described in
the confidential Microsoft document "The MATH table and OpenType
Features for Math Processing". Moreover, they should contain a broad
collection of special characters (see "Draft Unicode Technical Report
25. UNICODE SUPPORT FOR MATHEMATICS" by Barbara Beeton, Asmus Freytag, and Murray Sargent III). In particular, math OTF fonts are
expected to contain the following scripts: a basic serif script
(regular, bold, italic and bold italic), a calligraphic script
(regular and bold), a double-struck script, a fraktur script (regular
and bold), a sans-serif script (regular, bold, oblique and bold
oblique), and a monospaced script.
The basic script is, obviously, Latin Modern. Some scripts, however,
are borrowed from other fonts (the current selection, however, may be
subject to change), belonging, however, to the "TeX circle":
However, unicode-math
uses the same fonts for normal and bold \mathscr
as it does for \mathcal
. Looking at the font in FontForge, it contains multiple copies of the Euler-based script, but no copy of the Latin Modern Symbol script. However, I guess by the 'serif script', they just been the roman.
One reason to use Euler rather than Latin Modern Symbol is that the latter script only includes upper case, but the MATH table requires both. Hence, there is no model in Computer Modern or Latin Modern Symbol for a lower-case script alphabet. It seems a reasonable guess that this motivated the decision to substitute Euler. Euler provided what Knuth's OMS encoding did not: lower-case letters.