Otherwise why is he returning JSON?
Because JSON is a handy object notation? I've done some RPC implementations which worked through JSON but weren't JSON-RPC compliant (mainly over RESTful services).
And you're right, it's Bitmessage the one that uses XML-RPC. Got both mixed up.