This specification defines the QUERY method for HTTP. A QUERY requests that the request target process the enclosed content in a safe and idempotent manner and then respond with the result of that processing. This is similar to POST requests, but QUERY requests can be automatically repeated or restarted without concern for partial state changes.
Adding stuff is easier than patching existing implementations is probably the reason why. Because up until this point, the webserver can just ignore the GET body request but if the client starts sending with body then who knows what bug might surface that turns into security vulnerability.
While I like the goal of this, why not errata the existing spec to allow GET requests to have bodies? Would that be too much of a breaking change?
Adding stuff is easier than patching existing implementations is probably the reason why. Because up until this point, the webserver can just ignore the GET body request but if the client starts sending with body then who knows what bug might surface that turns into security vulnerability.