Steps to reproduce:
1. Open the attached user's project "3582628.zip"
2. Switch the build target to Windows
3. In Player Settings -> Other Settings, set Scripting Backend to IL2CPP
4. Add "Assets/Repro.unity" to the Scenes in Build list
5. Build and run the Player
6. Open the Player.log
Actual result: "typeof(object).IsAssignableFrom" and "typeof(IDisposable).IsAssignableFrom" throw TypeInitializationException for MyTestClass, and "Couldn't extract exception string from exception (another exception of class 'TypeInitializationException' was thrown while processing the stack trace)" is logged instead of the original exception
Expected result: "ISO step2: typeof(object).IsAssignableFrom -> True" and "ISO step3: typeof(IDisposable).IsAssignableFrom -> False" are logged, followed by "Failed to Hello World : System.TypeInitializationException: The type initializer for 'MyTestClass' threw an exception." with its stack trace and "MyTestClass is an object : True"
Reproducible with: 6000.5.0a2 (4eb3f165a11f), 6000.6.4f1, 6000.7.0b3, 7000.0.0a7
Not reproducible with: 6000.0.84f1, 6000.3.25f1, 6000.5.0a1 (0136d7329743)
Testing Environment: Windows 11
Not reproducible on: no other environment tested
Notes:
-Reproducible with the IL2CPP scripting backend only. Mono and .NET rethrow only when a static member is accessed, not on type checks
-Type.IsSubclassOf is not affected