### Describe the bug

After upgrading msw from 1.x to 2.x `FormData` upload stopped working in tests. Looking at the debugging output, Axios doesn't append the `boundary` to the `Content-Type` header anymore.

The MSW team checked [1] this already on their side.

I tried to append the boundary manually to the header for debugging purposes, but that revealed another issue:
```
{ "Content-Type": "multipart/form-data; boundary=abc" }
```
ends in
```
Content-Type: multipart/form-databoundary=abc
```


[1] https://github.com/mswjs/msw/issues/1835


### To Reproduce

Checkout the msw reproducer at [1] and
```
cd examples/with-vitest
npm install
npm test
```


[1] https://github.com/pschyma/msw-examples/tree/axios-formdata-reproducer

### Code snippet

_No response_

### Expected behavior

As with msw the `boundary` is appended to `Content-Type` header.

### Axios Version

1.6.0

### Adapter Version

XHR

### Browser

jsdom

### Browser Version

_No response_

### Node.js Version

18.8.2

### OS

Linux

### Additional Library Versions

```bash
msw 2.0.x
vitest 0.34.6
```


### Additional context/Screenshots

_No response_
lib/adapters/xhr.js
let bytesNotified = 0;
  const _speedometer = speedometer(50, 250);
  return e => {
    const loaded = e.loaded;
    const total = e.lengthComputable ? e.total : undefined;
    const progressBytes = loaded - bytesNotified;
    const rate = _speedometer(progressBytes);
    const inRange = loaded <= total;
    bytesNotified = loaded;
    const data = {
      loaded,
      total,
      progress: total ? (loaded / total) : undefined,
      bytes: progressBytes,
      rate: rate ? rate : undefined,
      estimated: rate && total && inRange ? (total - loaded) / rate : undefined,
      event: e
    };
    data[isDownloadStream ? 'download' : 'upload'] = true;
    listener(data);
  };
}
const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';
export default isXHRAdapterSupported && function (config) {
  return new Promise(function dispatchXhrRequest(resolve, reject) {
    let requestData = config.data;
    const requestHeaders = AxiosHeaders.from(config.headers).normalize();
    const responseType = config.responseType;
    let onCanceled;
    function done() {