#### Is your feature request related to a problem? Please describe.
No.

#### Describe the solution you'd like
#4734 Changed the entire behavior of the params serializer, breaking using any custom functionality on the consumer side. Add a boolean switch to mimic pre 1.x behavior (default is false) and send the params directly to the encode function

#### Describe alternatives you've considered
Tried working with new solution; it did not pan out well and led to more bugs with our requests

test/typescript/axios.ts
if (axios.isAxiosError(error)) {
      const axiosError: AxiosError = error;
    }
  });
axios.toFormData({x: 1}, new FormData());
axios.get('/user', {signal: new AbortController().signal});
axios.get('/user', {
    transformRequest: (data, headers) => {
        headers.setContentType('text/plain');
        headers['Foo'] = 'bar';
    },
    transformResponse: (data, headers) => {
        headers.has('foo');
    }
});
axios.get('/user', {
  maxRate: 1000
});
axios.get('/user', {
  maxRate: [1000, 1000],
});
axios.get('/user', {
  onUploadProgress: (e) => {
    console.log(e.loaded);
    console.log(e.total);
    console.log(e.progress);
    console.log(e.rate);
  }
});