OneHotEncoder linter issues on argument typing

### Describe the bug

The pyright lsp flags type warnings when a OneHotEncoder is initialized with categories as a list and/or dtype specified as anything but np.float64. Code runs fine, so this maybe should not be considered a bug. It is just a slight annoyance. 

### Steps/Code to Reproduce

```
from sklearn.preprocessing import OneHotEncoder

categories = [["a", "b"]]

ohe = OneHotEncoder(categories=categories, dtype=bool)
```

### Expected Results

The documentation indicates that **categories** can be a str="auto" or list and **dtype** appears to be handled downstream by numpy, but the default is initialized as np.float64 and this is somehow confusing the lsp. 

### Actual Results

```
Argument of type "list[list[str]]" cannot be assigned to parameter "categories" of type "str" in function "__init__" Pyright (reportGeneralTypeIssues) [5, 32]
 │        "list[list[str]]" is incompatible with "str" 
 │       Argument of type "type[bool]" cannot be assigned to parameter "dtype" of type "float64" in function "__init__" Pyright (reportGeneralTypeIssues) [5, 50]
 │        "type[bool]" is incompatible with "float64" 
 │        Type "type[bool]" cannot be assigned to type "float64"
```
### Versions

```shell
System:
    python: 3.11.4 | packaged by conda-forge | (main, Jun 10 2023, 18:08:17) [GCC 12.2.0]
executable: /home/scott/mambaforge/envs/sklearn_new/bin/python
   machine: Linux-6.4.4-zen1-1-zen-x86_64-with-glibc2.37

Python dependencies:
      sklearn: 1.2.2
          pip: 23.2.1
   setuptools: 68.0.0
        numpy: 1.23.5
        scipy: 1.10.1
       Cython: None
       pandas: 2.0.2
   matplotlib: 3.2.2
       joblib: 1.2.0
threadpoolctl: 3.1.0

Built with OpenMP: True

threadpoolctl info:
       user_api: openmp
   internal_api: openmp
         prefix: libgomp
       filepath: /home/scott/.local/lib/python3.11/site-packages/scikit_learn.libs/libgomp-a34b3233.so.1.0.0
        version: None
    num_threads: 12

       user_api: blas
   internal_api: openblas
         prefix: libopenblas
       filepath: /home/scott/.local/lib/python3.11/site-packages/numpy.libs/libopenblas64_p-r0-742d56dc.3.20.so
        version: 0.3.20
threading_layer: pthreads
   architecture: Haswell
    num_threads: 12

       user_api: blas
   internal_api: openblas
         prefix: libopenblas
       filepath: /home/scott/.local/lib/python3.11/site-packages/scipy.libs/libopenblasp-r0-41284840.3.18.so
        version: 0.3.18
threading_layer: pthreads
   architecture: Haswell
    num_threads: 12
```

COMMENT:
Sorry, I'll try to be more clear. This is not an error at runtime, but simply a warning raised by the pyright language server protocol. I have not tested with other LSPs like python-lsp or ruff. The warning can be suppressed with comments i.e.

```
from sklearn.preprocessing import OneHotEncoder

categories = [["a", "b"]] 

ohe = OneHotEncoder(
        categories=categories, # type: ignore
        dtype=bool # type: ignore
)
```
This does, however, eliminate the benefits of type hinting for code style and development. Again, it has no effect at runtime. Perhaps a label other than "bug" would be more appropriate.

Labels: Bug, Needs Triage