You could probably strip down .NET core runtime if size is your concern and have an AoT compiled binary that links to that if you're concerned about JIT. I think there was a MS project a while back that compiled .NET IL to static code trough LLVM (https://github.com/dotnet/llilc - it seems dead now unfortunately)
But C# without .NET doesn't really make sense.
You can also run ngen to pre-jit everything
https://blogs.msdn.microsoft.com/dotnet/2016/11/08/the-week-...
https://blogs.msdn.microsoft.com/alphageek/2016/10/13/native...
I am not a big fan of WASM, as I rather bet on native apps.
Otherwise there are a few options already
https://www.toradex.com/windows-iot-starter-kit
https://developer.microsoft.com/en-us/windows/iot/Explore/de...
The problem with using C and Assembly instead of more productive options, when the hardware allows for it, is that many don't search properly.