[FEATURE] Sequential transforms on same columns while using `ColumnTransformer`

### Describe the workflow you want to enable

while performing more than one transforms on same column, it seems to create copies of it and perform different transform seperately.  make a Sequential flow of transforms as an option.  

Look here
data
```
	time	num	cat
0	Night	86	NaN
1	Day	92	B
2	Day	23	A
3	Night	25	A
4	Day	21	NaN
```
column transform pipeline
```python
# Preprocessing
cat_df, num_df = separate_categorical_numerical(df)
print('cat names: ',cat_df.columns)
print('num names: ',num_df.columns)
preprocessor = ColumnTransformer(
    transformers=[
        ('impute_null_nums', SimpleImputer(strategy='mean'), num_df.columns),
        ('impute_null_cats', SimpleImputer(strategy='most_frequent'), cat_df.columns),  # You can use other strategies as well

        ('one_hot_encode', OneHotEncoder(), cat_df.columns)
    ],
    remainder='passthrough', verbose_feature_names_out=False
)


# Create a pipeline with the preprocessor
pipeline = Pipeline([
    ('preprocessor', preprocessor),
])

# Apply the preprocessing steps to your DataFrame
df_transformed = pipeline.fit_transform(df)
```
Now , after the `fit_transform` i got. 
```
df_transformed:
array([[86.0, 'Night', 'A', 0.0, 1.0, 0.0, 0.0, 1.0],
       [92.0, 'Day', 'B', 1.0, 0.0, 0.0, 1.0, 0.0],
       [23.0, 'Day', 'A', 1.0, 0.0, 1.0, 0.0, 0.0],
       [25.0, 'Night', 'A', 0.0, 1.0, 1.0, 0.0, 0.0],
       [21.0, 'Day', 'A', 1.0, 0.0, 0.0, 0.0, 1.0]], dtype=object)
```
 and those columns are 
```python
preprocessor.get_feature_names_out():
array(['num', 'time', 'cat', 'time_Day', 'time_Night', 'cat_A', 'cat_B',
       'cat_nan'], dtype=object)
```
as you can see from the column names, impute step and one hot encoding step took the same copy of data and preformed transformation. impute step imputed the data and create new columns and one hot encoding did one hot encoding on columns with nan values. This could have been one sequential operation and columns should have been imputed first then should have been encoded. 

Solution:  a sequential boolean option to run the steps in sequence for given column names. 
stack all the operation for same columns and run them sequentially. 


**Here i wanted to impute data , then do one hot encodint  but  ,  output has both output from impute step and also from one hot encodin step. **

### Describe your proposed solution

Column transformation can be seqential. Add a sequential boolean option to enable a sequential flow of operation. 

So that after imputing any missing data in columns it will proceed to newt transform where it will be one hot encoded. 

and get some output like.
```
array([[86.,  0.,  1.,  1.,  0.,.],
       [92.,  1.,  0.,  0.,  1.,],
       [23.,  1.,  0.,  1.,  0.,],
       [25.,  0.,  1.,  1.,  0.,],
       [21.,  1.,  0.,  1.,  0., ]])
```

COMMENT:
```python
	time	num	cat
0	Night	86	NaN
1	Day	92	B
2	Day	23	A
3	Night	25	A
4	Day	21	NaN
```

Considering the following data and the output that you want, you can just use a pipeline within the `ColumnTransformer`:

```python
from sklearn.compose import make_column_selector as selector
preprocessor = ColumnTransformer(transformers=[
    (
        "numerical",
        SimpleImputer(strategy="mean"),
        selector(dtype_include="number")
    ),
    (
        "categorical",
        make_pipeline(SimpleImputer(strategy='most_frequent'), OneHotEncoder()),
        selector(dtype_exclude="number"),
    ),
])
```

Labels: New Feature, Needs Triage