BUG: unstack after loc produces unexpected index order
- [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.

---

**Note**: Please read [this guide](https://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports) detailing how to provide the necessary information for us to reproduce your bug.

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

```python
idx = pd.IndexSlice

df = pd.DataFrame({'x':[1,2,3], 
                   'y':['a','b','c'],
                   'z':['a*','b*','c*']
                 }).set_index(['y','z'])

new_y_order = ['c', 'b', 'a']
new_df = df.loc[idx[new_y_order,:],:].unstack('z') # <- this produces the unexpected behaviour.
print(new_df)
#      x               
# z   a*   b*   c*
# y                    
# a  1.0  NaN  NaN
# b  NaN  2.0  NaN
# c  NaN  NaN  3.0

```

#### Problem description

Changing the order of `df`'s index using `loc` and calling `unstack` on the 2º index level, results in a dataframe whose index order unexpectedly remains the same as the initial index. However, the new index' order should follow `new_y_order`.

Additional notes:
- This behaviour happens only when all index elements are preserved when changing their order. In other words, If `new_y_order` contains fewer elements than `y`, then calling unstack would behave as expected.
- This unexpected behaviour happens even if we store the `.loc` reordering using `.copy()`, before applying `.unstack`. The DataFrame somehow remembers the initial index order it had.

#### Expected Output
```python
print(new_df)
#      x          
# z   c*   b*   a*
# y               
# c  3.0  NaN  NaN
# b  NaN  2.0  NaN
# a  NaN  NaN  1.0
```

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

<details>

INSTALLED VERSIONS
------------------
commit           : f00ed8f47020034e752baf0250483053340971b0
python           : 3.8.1.final.0
python-bits      : 64
OS               : Darwin
OS-release       : 20.2.0
Version          : Darwin Kernel Version 20.2.0: Wed Dec  2 20:39:59 PST 2020; root:xnu-7195.60.75~1/RELEASE_X86_64
machine          : x86_64
processor        : i386
byteorder        : little
LC_ALL           : None
LANG             : None
LOCALE           : None.UTF-8

pandas           : 1.3.0
numpy            : 1.19.2
pytz             : 2021.1
dateutil         : 2.8.1
pip              : 21.0.1
setuptools       : 52.0.0.post20210125
Cython           : None
pytest           : None
hypothesis       : None
sphinx           : None
blosc            : None
feather          : None
xlsxwriter       : None
lxml.etree       : None
html5lib         : None
pymysql          : None
psycopg2         : None
jinja2           : 2.11.3
IPython          : 7.21.0
pandas_datareader: None
bs4              : None
bottleneck       : None
fsspec           : None
fastparquet      : None
gcsfs            : None
matplotlib       : 3.3.2
numexpr          : None
odfpy            : None
openpyxl         : None
pandas_gbq       : None
pyarrow          : None
pyxlsb           : None
s3fs             : None
scipy            : 1.6.1
sqlalchemy       : None
tables           : None
tabulate         : 0.8.9
xarray           : None
xlrd             : None
xlwt             : None
numba            : None

</details>
