BUG: transform with nunique should have dtype int64
- [x] closes #35109
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

cc @WillAyd 

Removes casting on transformations which go through `_transform_fast`. The result is a reduction that is broadcast to the original index, so casting isn't necessary once special care is taken for categoricals when `observed=False`

If this PR is accepted, I'll close #35130 which is for the same issue.