So I discovered today that the issue is not related to .Net at all. Nor is it the Microsoft.Sharepoint assemblies.
In fact, it is that the newer Unity version had enabled 'Code Stripping', which seems to remove code during Build that it determines is unreachable. https://docs.unity3d.com/Manual/ManagedCodeStripping.html
To change the Managed Stripping Level property:
Go to Edit > Project Settings > Player. In Other Settings, navigate to the Optimization heading. Set the Managed Stripping Level property to the desired value.
Switching the scripting back to Mono (which it had altered) allows you to select the 'disable' option of code stripping.