### Describe the bug

Passing a [FormData](https://github.com/form-data/form-data) object to Axios client may result in request header 'Content-Length': 'NaN' being set.

### To Reproduce

Given the following code:

```ts
// client is an Axios instance
const pdf = await client.get(pdfUrl, { responseType: 'stream' });

const form = new FormData();
form.append('file', pdf.data, { filename, contentType: 'application/pdf' });

const res = await client.post(urlToUploadService, form);
```

We get the following request header added:

```
    headers: AxiosHeaders {
      Accept: 'application/json, text/plain, */*',
      'Content-Type': 'multipart/form-data; boundary=--------------------------852062351748726458865935',
      'User-Agent': 'axios/1.3.2',
      'Content-Length': 'NaN',
      'Accept-Encoding': 'gzip, compress, deflate, br'
    },
```

I believe `'Content-Length': 'NaN',` is not something we want :) I'm pretty sure the header was not added with Axios version 1.2.6. 

---------

I believe this is related code:

https://github.com/axios/axios/blob/0b449293fc238f30f39ab9ed0fca86a23c8a6a79/lib/adapters/http.js#L266-L267


If we log form's getLength:

```
  form.getLength((err, length) => {
    console.log(err, length);
  }),
```

We'll get a hint of what is going on:

```
null NaN
```

### Axios Version

1.3.2

### Adapter Version

_No response_

### Browser

_No response_

### Browser Version

_No response_

### Node.js Version

v18.14.0

### OS

macos 13.2

### Additional Library Versions

_No response_

### Additional context/Screenshots

- I believe https://github.com/axios/axios/pull/5521 is relevant as it tried to fix some related issue(?).
- Not 100% sure if this is a https://github.com/form-data/form-data issue or an Axios issue, but given it previously worked I though I would register it here.

lib/adapters/http.js
options.hostname = proxyHost;
    
    options.host = proxyHost;
    options.port = proxy.port;
    options.path = location;
    if (proxy.protocol) {
      options.protocol = proxy.protocol.includes(':') ? proxy.protocol : `${proxy.protocol}:`;
    }
  }
  options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) {
    
    
    setProxy(redirectOptions, configProxy, redirectOptions.href);
  };
}
const isHttpAdapterSupported = typeof process !== 'undefined' && utils.kindOf(process) === 'process';
export default isHttpAdapterSupported && function httpAdapter(config) {
  
  return new Promise(async function dispatchHttpRequest(resolvePromise, rejectPromise) {
    let data = config.data;
    const responseType = config.responseType;
    const responseEncoding = config.responseEncoding;
    const method = config.method.toUpperCase();
    let isFinished;
    let isDone;
    let rejected = false;
    let req;
    
    const emitter = new EventEmitter();
    function onFinished() {