Isn't that solved by this? https://dev.mysql.com/doc/refman/5.6/en/connection-compressi...
But in any case, even if your client did support this and the server supported it, we still need HTTP for other things. I don't think it's particularly a "gotcha". HTTP is also stateless, which has lots of benefits for us.
https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-con...
And it's in the C API too...