SPMI: Throw distinguished exception for recorded exceptions (#89978)
Switch back to this scheme, since only looking for the managed exception
code does not handle crossgen2/ilc (they throw exceptions across the
JIT-EE interface as normal C++ exceptions).
I've verified that the JIT does not look closely at the exception codes
thrown in any of the places it does EH, which comes down to
`impJitErrorTrap` and `runWithErrorTrap`. So changing the exception code
should not result in any behavior differences.