PERF: avoid copies in frame[col].fillna(val, inplace=True) GH#46149
- [x] closes #46149
- [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).
- [ ] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

Is this fix specific to `fillna()` usage with `inplace=True`? Would it also work with default `inplace=False`? > Would it also work with default inplace=False?

No. If that's out of scope for this PR I can open a new issue describing what I'm seeing after updating to `1.4.1`.

It's actually the same as https://github.com/pandas-dev/pandas/issues/46149, except my usage is:
```
df = df["field"].fillna("")
```

Of course I can just `loc` on `pd.isna()` and manually set to `""` but it'd be great to not need to update all of our usages of `fillna()`. > If that's out of scope for this PR I can open a new issue describing what I'm seeing after updating to 1.4.1.

Please do. @jbrockmendel ok to backport this if you can add a note in 1.4.2 @meeseeksdev backport 1.4.x Something went wrong ... Please have a look at my logs.