Unpickling ColumnTransformer fitted in 1.6.1 fails in 1.7.1 with AttributeError: _RemainderColsList

### Describe the bug

**Summary** 

A `ColumnTransformer` pickled with **scikit-learn 1.6.1** cannot be unpickled with **1.7.1** (and other versions > 1.6.1). The unpickling fails before any method call with:

```bash
AttributeError: Can't get attribute '_RemainderColsList' on <module 'sklearn.compose._column_transformer' from '.../site-packages/sklearn/compose/_column_transformer.py'>
```

This makes it impossible to load persisted pipelines across these versions when ColumnTransformer was used.

### Steps/Code to Reproduce

## Run it with scikit-learn==1.6.1
```
import pickle
import pandas as pd
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder, StandardScaler

# Minimal toy data
df = pd.DataFrame({"num": [1.0, 2.0, 3.5], "cat": ["a", "b", "a"]})

# Minimal ColumnTransformer
ct = ColumnTransformer(
    transformers=[
        ("num", StandardScaler(), ["num"]),
        ("cat", OneHotEncoder(handle_unknown="ignore", sparse_output=False), ["cat"]),
    ], remainder="passthrough"
)

# Fit and pickle
ct.fit(df)
with open("column_transformer.pkl", "wb") as f:
    pickle.dump(ct, f)

```
## Run with scikit-learn > 1.6.1
```
import pickle
import pandas as pd

# Unpickle the fitted transformer
with open("column_transformer.pkl", "rb") as f:
    ct = pickle.load(f)

# Use on small test data (includes an unseen category "c")
df2 = pd.DataFrame({"num": [0.0, 1.0], "cat": ["a", "c"]})
X = ct.transform(df2)

```

### Expected Results

A ColumnTransformer fitted and persisted in 1.6.1 can be loaded in 1.7.1 and used normally (e.g., transform), or—if cross-version unpickling is intentionally unsupported—clear guidance in release notes and/or a compatibility shim to avoid a hard failure on import.

### Actual Results

Unpickling fails immediately with AttributeError (below), seemingly because a private helper `_RemainderColsList` referenced in the pickle no longer exists / was moved in `sklearn.compose._column_transformer` in 1.7.x.

`AttributeError: Can't get attribute '_RemainderColsList' on <module 'sklearn.compose._column_transformer' from '/opt/homebrew/Caskroom/miniforge/base/envs/ml-py310/lib/python3.10/site-packages/sklearn/compose/_column_transformer.py'>`

### Versions

```shell
System:
    python: 3.10.14 | packaged by conda-forge | (main, Mar 20 2024, 12:51:49) [Clang 16.0.6 ]
executable: /opt/homebrew/Caskroom/miniforge/base/envs/ml-py310/bin/python
   machine: macOS-15.6.1-arm64-arm-64bit

Python dependencies:
      sklearn: 1.7.1
          pip: 25.2
   setuptools: 70.1.1
        numpy: 1.26.4
        scipy: 1.15.3
       Cython: None
       pandas: 2.3.2
   matplotlib: 3.10.6
       joblib: 1.5.2
threadpoolctl: 3.6.0

Built with OpenMP: True

threadpoolctl info:
       user_api: blas
   internal_api: openblas
    num_threads: 10
         prefix: libopenblas
       filepath: /opt/homebrew/Caskroom/miniforge/base/envs/ml-py310/lib/python3.10/site-packages/numpy/.dylibs/libopenblas64_.0.dylib
        version: 0.3.23.dev
threading_layer: pthreads
   architecture: armv8

       user_api: openmp
   internal_api: openmp
    num_threads: 10
         prefix: libomp
       filepath: /opt/homebrew/Caskroom/miniforge/base/envs/aiperia-ml-py310/lib/python3.10/site-packages/sklearn/.dylibs/libomp.dylib
        version: None
```

COMMENT:
Hi @nejox, there's no guarantee that an estimator pickled under some version of scikit-learn will still work when unpickled under another version as documented [here](https://scikit-learn.org/stable/model_persistence.html#replicating-the-training-environment-in-production).

Labels: Bug, Documentation