Можно ли писать бэкенд на чистом C#, как на PHP? Не привлекая фреймворки?
Сравнение PHP и C# не корректно.
1. PHP изначально сделан для веба
2. PHP интерпретируемый
3. Очень много ответственности по обработке запроса на себя берёт Apache

При разработке на C# используется asp net core, в котором находится веб сервер kestrel, который берёт на себя работу с сетью и HTTP.

В принципе, вы можете попробовать использовать CGI вместе с C#, но это плохая идея.
Можно, но не нужно.
HttpListener listener = new HttpListener();
listener.Prefixes.Add ("http://localhost:51111/MyApp/"); // Listen on 51111
listener.Start();

как альтернатива
https://github.com/dotnet-websharper/core