When I read the documentation, am I supposed to understand that the "~/" sign is a necessary addition on the server side?
The "~/" is a server side construct and a convenient way to render a route relative to the application root.
The slash "/" is a relative reference which tells the browser to start at the application root.
https://www.w3schools.com/html/html_filepaths.asp
The "~/" causes the Razor View to render relative reference back to the browser. For that to work, the request must pass through the ASP.NET Core MVC application. The URL must map to a controller (route) and the controller returns a Razor view (cshtml). The Razor engine is responsible for converting the "~/" to a relative reference for the browser.
The html files cannot use the "~" because the html files are returned by the static file handler. The html files do not pass through the Razor rendering engine.
https://learn.microsoft.com/en-us/aspnet/core/fundamentals/static-files?view=aspnetcore-8.0