The early versions of the JSONRPC 2.0 spec suggested that a bad method should return with an http errorcode of 404 and included other correlations between JSONRPC codes and http response codes.
In the final version of the spec, this was scrapped in favor of keeping the two codes distinct as it coudl cause confusion. All errors returned by a JSONRPC 2.0 server should still be Server Response Code of 200. Then the error portion of the response would dictate the type of error.
I know you have already written this to match the preliminary spec and are probably using it as such and have no interest in changing it as it would break a lot of code. But is this a change you want to make, or should I fork and change it?