ASP.NET Core's behavior appears to be tailored to support ASP.NET Core MVC's routing system. It's formal HttpRequest class exposes the components of a request but they rarely exactly reflect what the user specified. Let's find those original request components.
Microsoft has polluted the lexicon a bit by introducing the 'async' method modifier. I find that this leads to ambiguity in discussions and, as a result, hampers a developer's ability to grasp the concept. So, let's take a look at the goals and function of .NET's async/await paradigm.