Fix str dtype -> IntegerDtype conversions
closes #25472

- [x] closes #xxxx
- [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
Hello @alexreg! Thanks for updating this PR. We checked the lines you've touched for [PEP 8](https://www.python.org/dev/peps/pep-0008) issues, and found:









There are currently no PEP 8 issues detected in this Pull Request. Cheers! :beers: 

##### Comment last updated at 2021-10-19 12:23:17 UTC Looks like all 8 failures are the same issue in essence. I'll wait for advice on how to fix that. @jreback Thanks for reviewing. I'll have a look at your comments and see what I can do. Where do tests specific to issues go? Okay, I think I've addressed the above issues and this solution is better. All tests should be passing now too. I just need to write tests specifically for the two issues this is closing (please point me to where they should go). Note, I'm no longer dealing with #15585, as your comment hinted I shouldn't.

Edit: Looks like all tests passed but the macOS one spuriously gave `Error: The operation was canceled.`. i think I was trying to target too much in this PR. I'm only going to target #25472 now, which the PR in its current state definitely solves. Just not sue of the best way to write a unit test for that issue. Advice appreciated (or someone can feel free just to do it and push). @jreback @jbrockmendel Incorporated / replied to your feedback. Hopefully everything is good to go now. thanks @alexreg very nice! @jreback No problem. Thanks both of you for the reviews and getting this merged.