In #819 custom error codes were requested. In #847 they were implemented, except for the last step. They aren't being used in the JSON-RPC response. This is due to lacking support in JSON::RPC. @blacksponge has offered a patch to fix that (lestrrat-p5/JSON-RPC#14) but it hasn't been processed. Presumably because JSON::RPC is up for adoption (see https://metacpan.org/dist/JSON-RPC).
One way forward would be to adopt JSON::RPC.