BUG: Index with object dtype and negative loc for insert adding none and replacing existing value
- [x] closes #44509
- [x] tests added / passed
- [x] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit) for how to run them
- [x] whatsnew entry

This behaves like np.insert, so changed the docstring. Making this compatible with list.insert would be a breaking change

Nevertheless the else block in the base implementation had a bug, so fixed that one too
