Type conversion to boolean for integers after concat
#### Code Sample, a copy-pastable example if possible

```python
import pandas as pd
# when concatenating on Multi-index, 1 and 0 are automatically converted to booleans if there are other booleans
s1 = pd.Series([10,20],index=pd.MultiIndex.from_tuples( [('is true', True), ('is true', False)],names=['Question', 'Answer']))
s2 = pd.Series([51,12,123],index=pd.MultiIndex.from_tuples( [('how many', 0), ('how many', 1), ('how many', 2),],names=['Question', 'Answer']))
to_concat =[s1,s2]
print('with issue:')
print(pd.concat(to_concat))
#no issue
s1 = pd.Series([10,20],index=pd.MultiIndex.from_tuples( [('is true', 1), ('is true', 0)],names=['Question', 'Answer']))
to_concat =[s1,s2]
print('\nwithout issue:')
print(pd.concat(to_concat))
```
#### Problem description

When concatenating on Multi-index, 1 and 0 are automatically converted to Booleans if there are other Booleans. In my view the type should remain the same after concatenating.

For documentation-related issues, you can check the latest versions of the docs on `master` here:


#### Expected Output
```with issue:
Question  Answer
is true   True       10
          False      20
how many  False      51
          True       12
          2         123
dtype: int64

without issue:
Question  Answer
is true   1          10
          0          20
how many  0          51
          1          12
          2         123
dtype: int64
```

#### Output of ``pd.show_versions()``

<details>

[paste the output of ``pd.show_versions()`` here below this line]
'0.25.3'

</details>
