RE: C# Proxy API
Nice, that will be useful.
Our latest online application is doing practically the same. It's running on dotnet core, and uses HttpClient inside Agent-classes, and works on models like Contact and ContactEntity, so pretty much the same approach as you're working on. We use System.Text.Json, but Newtonsoft is pretty much identical.
We've ended up using mostly the agents part of the WebApi, not so much the OData section. I find the agents easiest to work with, since it's also almost identical to how we do things in CRMScript.
Like Eivind mentions, supporting SystemUsers is important.
A smooth way of handling refresh tokens would also be nice.
Our variant also supports running against Onsite installations, so hope yours will as well.
A couple of interresting endpoints in addition to the Agents and REST endpoints are the tenant status endpoint (https://community.superoffice.com/en/developer/create-apps/reference/tenant-status/), and the API info endpoint (/api). Including a way to call them would be nice.
Do you have a sneak peak of what the interface for WebApiConfiguration looks like? I'm thinking I'd like to remodel my code to be more in line with what you're thinking, so that its easier to rip out my current implementation and replace it with yours.