BUG: Prevent Series.isin from unwantedly casting isin values from float to integer (GH21804)
- [x] closes #21804 
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

Ran some perf benchmarks for tests that were troublesome last time (#21893): `series_methods.IsIn.time_isin`, `categoricals.Isin.time_isin_categorical` and `indexing.MultiIndexing.time_index_slice` did not significantly change

Will run entire test suite once we agree on the imp, since the run takes quite some time. note that this is duplicating: https://github.com/pandas-dev/pandas/pull/37770 (though that has issues as well)