BUG: read_csv converting nans to 1 when casting bools to float
- [x] closes #42808
- [x] closes #34120
- [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

This is mostly based on #42944, but would like to get this into 1.4

cc @joelgibson if you would like to continue your initial pr

The xfail pyarrow case is not really related to the pyarrow engine, but to df.astype("bool") casting NaN to False
cc @gfyoung if any comments Sorry about dropping out on this, got swamped by work. Thanks for bringing it forward @phofl. thanks @phofl 