REGR: fillna on f32 column raising for f64
- [x] closes #43424
- [x] tests added / passed
- [x] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing.html#code-standards) for how to run them
- [x] whatsnew entry

For now have put whatsnew in 1.3.3, but might be better for 1.4 since regression is later (worked in 1.1.5) and the `can_hold_element` change causes subtle indexing behavior differences (but that are now more consistent between int and float)
does this break any current tests? > does this break any current tests?

Think the failures are flaky Have changed the approach to be less invasive, so backport I think safer now. 

I think the `can_hold_element` changes were in the right direction, but was unsure of the exact contract `can_hold_element` is meant to uphold and what subtle changes might be caused by what I changed.

EDIT: more reasoning for changing approach was not being able satisfactorily answer https://github.com/pandas-dev/pandas/pull/43455#discussion_r704293229 and other failing test cases I discovered that weren't handled by just the itemsize patch. The test now covers all numpy int/floating types lgtm. cc @jbrockmendel @phofl  thanks @mzeitlin11  @meeseeksdev backport 1.3.x Something went wrong ... Please have  a look at my logs.