REGR: Fix assignment bug for unary operators
- [x] closes https://github.com/pandas-dev/pandas/issues/39943
- [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

If there was somehow a way to copy the mask only on write so we aren't always copying that may be better. @simonjayhawkins I put this in the `IntegerArray` tests even though we're technically checking a `Series`, let me know if you'd prefer I rewrite or move elsewhere.