### Describe the issue

I set `axios.defaults.headers.common['Content-Type'] = 'application/json'`. When firing a `axios.patch` request (without a config), the request uses `application/x-www-form-urlencoded` instead.

### Example Code

```js
// This does not work as expected:
axios.defaults.headers.common['Content-Type'] = 'application/json'

// This does:
axios.defaults.headers.common['Content-Type'] = 'application/json'
axios.defaults.headers.patch['Content-Type'] = 'application/json'
```


### Expected behavior

I expected POST requests to use `axios.defaults.headers.common`, too.

I think this is where the problem (or intended behaviour) comes from: https://github.com/axios/axios/blob/3f53eb6960f05a1f88409c4b731a40de595cb825/lib/core/dispatchRequest.js#L46

### Axios Version

1.4.0

### Adapter Version

_No response_

### Browser

Firefox

### Browser Version

116.0.3 (64-bit)

### Node.js Version

_No response_

### OS

_No response_

### Additional Library Versions

_No response_

### Additional context/Screenshots

_No response_
test/specs/headers.spec.js
const {AxiosHeaders} = axios;
function testHeaderValue(headers, key, val) {
  let found = false;
  for (const k in headers) {
    if (k.toLowerCase() === key.toLowerCase()) {
      found = true;
      expect(headers[k]).toEqual(val);
      break;
    }
  }
  if (!found) {
    if (typeof val === 'undefined') {
      expect(headers.hasOwnProperty(key)).toEqual(false);
    } else {
      throw new Error(key + ' was not found in headers');
    }
  }
}
describe('headers', function () {
  beforeEach(function () {
    jasmine.Ajax.install();
  });
  afterEach(function () {
    jasmine.Ajax.uninstall();
  });
  it('should default common headers', function (done) {
    const headers = axios.defaults.headers.common;
    axios('/foo');
    getAjaxRequest().then(function (request) {
      for (const key in headers) {