BUG: Fix replacing in `string` series with NA (pandas-dev#32621)
The pd.NA values are replaced with np.nan before comparing the arrays/scalars

- [X] closes #32621 
- [X] tests passed
- [X] passes `black pandas`
- [X] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`

I think the problem here is actually that the element wise comparison reduces to a scalar:

```python
>>> np.array(["one", "two", np.nan]) == "one"
array([ True, False, False])
>>> np.array(["one", "two", pd.NA]) == "one"
__main__:1: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison
False
```

Which then gets caught in some of the functions here

@TomAugspurger or @jorisvandenbossche do you know the backstory to that behavior? > I think the problem here is actually that the element wise comparison reduces to a scalar:
> 
> ```python
> >>> np.array(["one", "two", np.nan]) == "one"
> array([ True, False, False])
> >>> np.array(["one", "two", pd.NA]) == "one"
> __main__:1: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison
> False
> ```
> 
> Which then gets caught in some of the functions here
> 
> @TomAugspurger or @jorisvandenbossche do you know the backstory to that behavior?

Hi @WillAyd, please check my comment https://github.com/pandas-dev/pandas/pull/32890#discussion_r396038591 which further explains why probably that warning is raised. Hello @chrispe92! 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 2020-04-10 11:09:11 UTC Hi @jreback,

Can you have a look my latest changes? I'm curious to know what you think. Hi @jreback, I've made all the changes that you suggested.
Other than those, I've also made the following changes:
- Added expected types in both of the functions
- Removed the is_array variables in order to pass the mypy tests.

Can you please check them and let me know what you think? Did I miss anything? Thanks. Hi @jreback, a note for the bug is now included to the whatsnew 1.1 bug fixes missing section. Can you have a look? Thanks. thanks @chrispe92 

if you could open a new issue for the dtype preservation on `.replace`, this PR solves the current issue so can address the other later. > thanks @chrispe92
> 
> if you could open a new issue for the dtype preservation on `.replace`, this PR solves the current issue so can address the other later.

Hi @jreback, related issue is now created (https://github.com/pandas-dev/pandas/issues/33484)