According to Slack's API documentation, oauth.v2.access does not support JSON payloads, although most other endpoints do. You must send application/x-www-form-urlencoded.
oauth.v2.access
application/x-www-form-urlencoded