EDIT: Could you try setting the preload flag on v9 to false?
Sure (for testing purpose), if I uncheck preload on v9 package it also unchecks it on v12.
ascorad.asco_Expressions.prefs (not ascorad.asco_Expressions.9.prefs) is created inside AddonPackagesUserPrefs.
Than when I add person atom, same error, but morphs are not loaded (so that works).
Like I said, empty scene no person atom (basically blank scene saved as new default), on v1.22.0.3. Restarting or hard reset same result.
Why error keeps showing when preload is disabled?
Idk, maybe "Ugh.vmi" is tripping over "Ugh .vmb" so error persists. ?

Odd that you don't get error when v9 is installed.
But if you have both packages ANDIF you have "show only latest" in your morphtab set, then the only way that VaM picks v9 over v12 would be that the default scene has an "exact" reference to v9, right?
No, scene files do save exact reference version for morphs (not latest). By default morphs tab shows "latest only" (most recent/highest package version).
Reason why you don't get popup saying "you are missing X package version" is because used morphs are not missing from "latest" package you have installed.
And when you have both "latest" and exact packages installed, scene is using exact version instead of latest (even if latest only is checked).
That reason why I like to keep only latest packages, unless it is special case where I have to keep legacy version (when creator breaks package or adds stuff I don't care about).
Obviously different story when package has "exact" reference, at that point it doesn't matter, it's gonna show error, even if same morph is inside "newer" package.