Found it right after posting, PowerShell adds a hidden User-Agent to the request with a value of:
Mozilla/5.0 (Windows NT; Windows NT 10.0; en-GB) WindowsPowerShell/5.1.19041.5607
Adding it to the C# code fixes the issue. I was sure I tried that before posting, but I guess I made a mistake. Hopefully this'll help people