No, "hits.total" is the total number of documents that matched, regardless of what you specified as the number of hits to return.
Although, to be fair, the related issue[2] specifically asks for an HTTP header.
JSON parsing is generally pretty fast, but I can understand it being unnecessary overhead (although in general, there are other more significant opportunities for optimization).
If you've ever implemented a JSON stream reader/writer, then you've done partial JSON parsing. Check out the tool `jq`[2], which will parse partial JSON surprisingly well and fast (and this is just a utility).
[1] https://github.com/elastic/elasticsearch/issues/18312