### 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
if (config.beforeRedirect) {
        options.beforeRedirects.config = config.beforeRedirect;
      }
      transport = isHttpsRequest ? httpsFollow : httpFollow;
    }
    if (config.maxBodyLength > -1) {
      options.maxBodyLength = config.maxBodyLength;
    } else {
      
      options.maxBodyLength = Infinity;
    }
    if (config.insecureHTTPParser) {
      options.insecureHTTPParser = config.insecureHTTPParser;
    }
    
    req = transport.request(options, function handleResponse(res) {
      if (req.destroyed) return;
      const streams = [res];
      const responseLength = +res.headers['content-length'];
      if (onDownloadProgress) {
        const transformStream = new AxiosTransformStream({
          length: utils.toFiniteNumber(responseLength),
          maxRate: utils.toFiniteNumber(maxDownloadRate)
        });
        onDownloadProgress && transformStream.on('progress', progress => {
          onDownloadProgress(Object.assign(progress, {
            download: true
          }));
        });
        streams.push(transformStream);