Axon generates dynamic multipart responses with boundaries and headers to bundle files specified via query parameters. sendfile handles "serve this specific file" but does not handle "bundle these N files into a multipart response."
For static file serving, sendfile would be the better choice.
So, I did look over the code and the thing that I walked away asking was "isn't this sort of the reason why sendfile(2) was developed?"