BUG: Dtype was not changed when float was assignt to int column
- [x] closes #26395
- [x] closes #20643
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

We have to keep the get_loc statement to check, if the series._set_value function does the trick. I added the dtype conversion there, to avoid implementing the same thing twice