### Describe the bug

Relying on axios automatic serialization to create a form-data results in this error. The following lines are responsible of this error : https://github.com/axios/axios/blob/release/dist/node/axios.cjs#L2654 (mainly the `getLengthSync` function)

According to [form-data themselves](https://github.com/form-data/form-data), using `getLengthSync` is [not recommended](https://github.com/form-data/form-data/blob/master/Readme.md?plain=1#L350).

### To Reproduce

- Create a file buffer with `fs.createReadStream`
- Set HTTP header `Content-Type` to `multipart/form-data` to make use of [automatic serialization](https://github.com/axios/axios#-automatic-serialization-to-formdata)
- Get the form-data `Cannot calculate proper length in synchronous way.` error

### Code snippet

```js
const axios = require("axios");
const fs = require("node:fs");
const fileBuffer = fs.createReadStream("./file.ext");

axios.post('https://httpbin.org/post', {file: fileBuffer}, {
  headers: {
    'Content-Type': 'multipart/form-data'
  }
})
.then(({data}) => console.log(data))
.catch((err) => console.error(err));
```


### Expected behavior

The content length should be calculated without throwing any error.

### Axios Version

1.3.0

### Adapter Version

_No response_

### Browser

_No response_

### Browser Version

_No response_

### Node.js Version

16.19.0

### OS

_No response_

### Additional Library Versions

_No response_

### Additional context/Screenshots

_No response_
test/unit/adapters/http.js
const p = (1 + 1 / positive);
  const n = (1 / negative);
  return (actualValue, value) => {
    return actualValue - value > 0 ? actualValue < value * p : actualValue > value * n;
  }
}
var noop = ()=> {};
const LOCAL_SERVER_URL = 'http://localhost:4444';
function startHTTPServer(options) {
  const {handler, useBuffering = false, rate = undefined, port = 4444} = typeof options === 'function' ? {
    handler: options
  } : options || {};
  return new Promise((resolve, reject) => {
    http.createServer(handler || async function (req, res) {
      try {
        req.headers['content-length'] && res.setHeader('content-length', req.headers['content-length']);
        var dataStream = req;
        if (useBuffering) {
          dataStream = stream.Readable.from(await getStream(req));
        }
        var streams = [dataStream];
        if (rate) {
          streams.push(new Throttle({rate}))
        }
        streams.push(res);
        stream.pipeline(streams, (err) => {
          err && console.log('Server warning: ' + err.message)
        });
      } catch (err){
        console.warn('HTTP server error:', err);