MultiIndex.from_product could accept MultiIndex
#### Is your feature request related to a problem?

The problem is in xarray.DataArray.to_dataframe() which uses MultiIndex.from_product() to build the index based on the array coordinates.
When an xarray has a MultiIndex as one of the coordinates, from_product is called with a Multiindex as one of the iterable. This raises an exception, as discussed here https://github.com/pydata/xarray/issues/3008

#### Describe the solution you'd like

I've implemented a solution in xarray [PR ##4442], this close the issue for xarray.
However, the solution could be ported to from_product to allow this method to accept MultiIndex. I'm not sure it is of great interest for the users, but at least the solution exists and is relatively simple.

#### API breaking implications

none breaking

#### Describe alternatives you've considered

none
