BUG: Allow cast from cat to extension dtype
- [x] closes #28668
- [x] tests added / passed
- [x] passes `black pandas`
- [x] whatsnew entry

Modifies `categorical.astype` to allow for casting to extension dtypes.  Also fixes the merge issue identified in #28668.
Getting this `mypy` error: `pandas/core/arrays/categorical.py:527: error: Argument 1 to "array" has incompatible type "Categorical"; expected "Sequence[object]"`.

Should `pandas.core.construction.array` be able to accept type `Categorical`? Hmm have we ever considered making the `ExtensionArray` definition align with any of the Python abcs? To align with the `Sequence` interface would need `__reversed__`, `__contains__`, `index`, and `count`. `Collection` would only require `__contains__` out of those

@TomAugspurger any thoughts? Would certainly help the type system I thought it was an instance of abc.Sequence, but apparently not. Apparently, ndarray's aren't Sequences either...

I don't have a strong opinion here. I opened #28770 as a follow up to that. @dsaxton for now I think you can just `# type: ignore` that and ref the open issue thanks @dsaxton 