BUG: unwanted casting in .isin
xref #19508  for a partial PR

```
In [3]: values = [1, 0.5]
   ...: pd.Series([1, 0]).isin(values)
   ...: 
Out[3]: 
0    True
1    True
dtype: bool
```
should be [True, False]