BUG: `pd.merge` mixes up the left/right index/on keys in result
- [ ] 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.

I was reviewing the recent PR for anti-joins and was attempting to come up with a standard test structure, and came across this:

```python
left = pd.DataFrame([[1,1],[2,2],[3,3]], index=[1,2,3], columns=["A", "C"])
   A  C
1  1  1
2  2  2
3  3  3

right = pd.DataFrame([[1,1],[2,2],[4,4]], index=[1,2,4], columns=["B", "C"])
   B  C
1  1  1
2  2  2
4  4  4

pd.merge(left, right, how="left", left_index=True, right_on="B")
      A  C_x  B  C_y
1.0   1    1  1  1.0
2.0   2    2  2  2.0
NaN   3    3  3  NaN
```

### Expected

```python
pd.merge(left, right, how="left", left_index=True, right_on="B")
    A  C_x    B  C_y
1   1    1    1    1
2   2    2    2    2
3   3    3  NaN  NaN
```
