**System Information**
Operating system: MacOs BigSur
**Blender Version**
Broken: 2.91.2
Steps:
1) Create Mesh ONE with 2 material slots, with the same material, each slot assigned to different mesh island in mesh.
So faces on mesh islands have different material_indexes, although both use the same material (in different material slots)
2) Create Mesh TWO without any materials
3) Join Mesh TWO into Mesh ONE
4) Check material indexes in resulted mesh. They wil ALL point to first material slots.
Faces, that was linked to second material slot initially will be "relinked" to first slot, so theier material_index attributes are altered/messed
Expected behaviour: Faces linked to second material slot initially should stay with the same material_index, join action has no reason to change them
See video for bug reproduction
{F9793793}