The layered nature of web servers means multiple components can enforce size limits:
Browser → sends request
Reverse Proxy/Load Balancer → may have size limits
Kestrel/IIS → enforces MaxRequestBodySize
ASP.NET Core → enforces FormOptions limits
Your Controller → RequestSizeLimit attribute
Each layer can terminate the connection, and earlier terminations result in network errors rather than HTTP error responses.