BUG: Index.union with both bools and ints, duplicates
### 

- [X] I have checked that this issue has not already been reported.

- [X] I have confirmed this bug exists on the [latest version](https://pandas.pydata.org/docs/whatsnew/index.html) of pandas.

- [X] I have confirmed this bug exists on the master branch of pandas.


### Reproducible Example

```python
idx = pd.Index([1, True, 0, False])
idx2 = idx[1:]

>>> idx.union(idx2)
Index([0, 0, 1, 1], dtype='object')
```


### Issue Description

Best guess is union_with_duplicates cc @phofl

Breaks at least one test in #43930

### Expected Behavior

`Index([1, True, 0, False], dtype=object)`
