BUG: GH11847 Unstack with mixed dtypes coerces everything to object
- [x] closes #11847
- [x] tests added / passed
- [x] passes `git diff upstream/master | flake8 --diff`
- [x] whatsnew entry

Changed the way in which the original data frame is copied (dropped use of .values, since it does not preserve dtypes).
