Metadata routing prevents usage of `IterativeImputer` with `ColumnTransformer`

### Describe the bug

Enabling metadata makes `IterativeImputer` fail when inside a meta-estimator like `ColumnTransformer`, even when there is no metadata requested nor passed.

### Steps/Code to Reproduce

```python
import sklearn
from sklearn.experimental import enable_iterative_imputer
from sklearn.impute import IterativeImputer
from sklearn.compose import ColumnTransformer

sklearn.set_config(enable_metadata_routing=True)

X, y = load_breast_cancer(return_X_y=True)

estimator = ColumnTransformer([("I", IterativeImputer(), [0, 1])])
estimator.fit(X, y)
```

### Expected Results

No error. I understand metadata routing isn't implemented for `IterativeImputer` but no metadata was passed, so why the error?

### Actual Results

```
Traceback (most recent call last):
  File "C:\Users\Mavs\Documents\Python\ATOM\venv311\Lib\site-packages\IPython\core\interactiveshell.py", line 3553, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-6-df714957fb70>", line 1, in <module>
    runfile('C:\\Users\\Mavs\\Documents\\Python\\ATOM\\test.py', wdir='C:\\Users\\Mavs\\Documents\\Python\\ATOM')
  File "C:\Program Files\JetBrains\PyCharm 2022.1.3\plugins\python\helpers\pydev\_pydev_bundle\pydev_umd.py", line 197, in runfile
    pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\JetBrains\PyCharm 2022.1.3\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "C:\Users\Mavs\Documents\Python\ATOM\test.py", line 209, in <module>
    estimator.fit(X, y)
  File "C:\Users\Mavs\Documents\Python\ATOM\venv311\Lib\site-packages\sklearn\compose\_column_transformer.py", line 860, in fit
    self.fit_transform(X, y=y, **params)
  File "C:\Users\Mavs\Documents\Python\ATOM\venv311\Lib\site-packages\sklearn\utils\_set_output.py", line 273, in wrapped
    data_to_wrap = f(self, X, *args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Mavs\Documents\Python\ATOM\venv311\Lib\site-packages\sklearn\base.py", line 1351, in wrapper
    return fit_method(estimator, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Mavs\Documents\Python\ATOM\venv311\Lib\site-packages\sklearn\compose\_column_transformer.py", line 910, in fit_transform
    routed_params = process_routing(self, "fit_transform", **params)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Mavs\Documents\Python\ATOM\venv311\Lib\site-packages\sklearn\utils\_metadata_requests.py", line 1555, in process_routing
    request_routing = get_routing_for_object(_obj)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Mavs\Documents\Python\ATOM\venv311\Lib\site-packages\sklearn\utils\_metadata_requests.py", line 1132, in get_routing_for_object
    return deepcopy(obj.get_metadata_routing())
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Mavs\Documents\Python\ATOM\venv311\Lib\site-packages\sklearn\compose\_column_transformer.py", line 1174, in get_metadata_routing
    router.add(method_mapping=method_mapping, **{name: step})
  File "C:\Users\Mavs\Documents\Python\ATOM\venv311\Lib\site-packages\sklearn\utils\_metadata_requests.py", line 862, in add
    mapping=method_mapping, router=get_routing_for_object(obj)
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Mavs\Documents\Python\ATOM\venv311\Lib\site-packages\sklearn\utils\_metadata_requests.py", line 1132, in get_routing_for_object
    return deepcopy(obj.get_metadata_routing())
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Mavs\Documents\Python\ATOM\venv311\Lib\site-packages\sklearn\utils\_metadata_requests.py", line 210, in get_metadata_routing
    raise NotImplementedError(
NotImplementedError: IterativeImputer has not implemented metadata routing yet.
```

### Versions

```shell
System:
    python: 3.11.2 (tags/v3.11.2:878ead1, Feb  7 2023, 16:38:35) [MSC v.1934 64 bit (AMD64)]
executable: C:\Users\Mavs\Documents\Python\ATOM\venv311\Scripts\python.exe
   machine: Windows-10-10.0.19045-SP0
Python dependencies:
      sklearn: 1.4.0
          pip: 23.3.2
   setuptools: 68.2.2
        numpy: 1.26.3
        scipy: 1.11.4
       Cython: 3.0.5
       pandas: 2.1.4
   matplotlib: 3.8.2
       joblib: 1.3.2
threadpoolctl: 3.2.0
Built with OpenMP: True
threadpoolctl info:
       user_api: blas
   internal_api: openblas
    num_threads: 16
         prefix: libopenblas
       filepath: C:\Users\Mavs\Documents\Python\ATOM\venv311\Lib\site-packages\numpy.libs\libopenblas64__v0.3.23-293-gc2f4bdbb-gcc_10_3_0-2bde3a66a51006b2b53eb373ff767a3f.dll
        version: 0.3.23.dev
threading_layer: pthreads
   architecture: Zen
       user_api: openmp
   internal_api: openmp
    num_threads: 16
         prefix: vcomp
       filepath: C:\Users\Mavs\Documents\Python\ATOM\venv311\Lib\site-packages\sklearn\.libs\vcomp140.dll
        version: None
       user_api: blas
   internal_api: openblas
    num_threads: 16
         prefix: libopenblas
       filepath: C:\Users\Mavs\Documents\Python\ATOM\venv311\Lib\site-packages\scipy.libs\libopenblas_v0.3.20-571-g3dec11c6-gcc_10_3_0-c2315440d6b6cef5037bad648efc8c59.dll
        version: 0.3.21.dev
threading_layer: pthreads
   architecture: Zen
       user_api: openmp
   internal_api: openmp
    num_threads: 8
         prefix: libiomp
       filepath: C:\Users\Mavs\Documents\Python\ATOM\venv311\Lib\site-packages\torch\lib\libiomp5md.dll
        version: None
       user_api: openmp
   internal_api: openmp
    num_threads: 1
         prefix: libiomp
       filepath: C:\Users\Mavs\Documents\Python\ATOM\venv311\Lib\site-packages\torch\lib\libiompstubs5md.dll
        version: None
```

COMMENT:
I'm not sure if we want this to be a feature or to be "fixed". Opened https://github.com/scikit-learn/scikit-learn/pull/28256 to discuss.

Labels: API, Needs Decision