BUG: MultiIndex.putmask losing ea dtype
- [x] xref #49830 (Replace xxxx with the GitHub issue number)
- [x] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [x] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [x] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
- [x] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

This is something we have to fix before we can address the issue

Its also significantly faster

```
       before           after         ratio
     [80527f48]       [b73beee0]
                      <49830>   
-        68.3±1ms      2.26±0.04ms     0.03  multiindex_object.Putmask.time_putmask_all_different
-      72.4±0.6ms      2.20±0.03ms     0.03  multiindex_object.Putmask.time_putmask
```
failure unrelated Thanks @phofl 