BUG: merge by MultiIndex containing tuples doesn't work correctly
- [x] I have checked that this issue has not already been reported.

- [x] I have confirmed this bug exists on the latest version of pandas.

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

#### Code Sample, a copy-pastable example

```python
import pandas as pd
import numpy as np

a_dict = {'val-single-trial-LitPrettyBoringMNIST_f1': {(0,
   'Train/Val',
   ('train', 'val')): 0.1189,
  (1, 'Train/Val', ('train', 'val')): 0.1373,
  (2, 'Train/Val', ('train', 'val')): 0.3173,
  (2, 'Reval', ('reval',)): 0.3173,
  (2, 'Test', ('test',)): 0.3173}}

a_df = pd.DataFrame(a_dict)

a_df.index = a_df.index.set_names(['epoch', 'stage', 'stage-list'])

a_df = a_df.iloc[[0,1,4,2, 3],:]

b_dict = {'reval-hyper-opt-LitPrettyBoringMNIST_f1': {(0, 'Reval', ('reval',)): 0.0317,
  (0, 'Test', ('test',)): np.nan}}

b_df = pd.DataFrame(b_dict)

b_df.index = b_df.index.set_names(['epoch', 'stage', 'stage-list'])


bad_merge_df = a_df.merge(b_df, how='outer', left_index=True, right_index=True)

good_merge_df = a_df.merge(b_df, how='outer', on=['epoch', 'stage', 'stage-list'])

```
Same example on Colab
https://colab.research.google.com/drive/1kz2ddulSuC4o3w580wk1iiiU8KJPll1U#scrollTo=2ZCn944CXDRG


#### Problem description
bad_merge_df contains a lot of nans:

<img width="810" alt="image" src="https://user-images.githubusercontent.com/4868370/104181719-5368dd00-5420-11eb-8fdd-6de500c02d25.png">

#### Expected Output

<img width="840" alt="image" src="https://user-images.githubusercontent.com/4868370/104181775-68457080-5420-11eb-9c34-45af8797f218.png">


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

<details>

INSTALLED VERSIONS
------------------
commit           : 3e89b4c4b1580aa890023fc550774e63d499da25
python           : 3.8.5.final.0
python-bits      : 64
OS               : Linux
OS-release       : 5.4.85-1-MANJARO
Version          : #1 SMP PREEMPT Mon Dec 21 21:38:53 UTC 2020
machine          : x86_64
processor        : 
byteorder        : little
LC_ALL           : None
LANG             : en.UTF-8
LOCALE           : None.None

pandas           : 1.2.0
numpy            : 1.19.5
pytz             : 2020.5
dateutil         : 2.8.1
pip              : 20.3.3
setuptools       : 49.6.0.post20210108
Cython           : None
pytest           : 6.2.1
hypothesis       : None
sphinx           : None
blosc            : None
feather          : None
xlsxwriter       : None
lxml.etree       : None
html5lib         : None
pymysql          : None
psycopg2         : None
jinja2           : 2.11.2
IPython          : 7.19.0
pandas_datareader: None
bs4              : None
bottleneck       : None
fsspec           : 0.8.5
fastparquet      : None
gcsfs            : None
matplotlib       : 3.3.3
numexpr          : None
odfpy            : None
openpyxl         : None
pandas_gbq       : None
pyarrow          : 2.0.0
pyxlsb           : None
s3fs             : None
scipy            : 1.6.0
sqlalchemy       : 1.3.22
tables           : None
tabulate         : 0.8.7
xarray           : None
xlrd             : None
xlwt             : None
numba            : 0.52.0

</details>
