I have sent this to support, but I'm also placing it here for completeness.
I just updated to 2.22. This problem still persists.
100% repro for me:
* have a tile map with multiple layers, though i don’t think the number of layers matters, its just what i have.
* have 2 different painting tiles, both set to replace with a different prefab.
* Paint 1 tile, commit.
* Go back to edit mode. Select the other tile for painting, paint over the first tile in the same layer, commit.
* The tile will revert back to the first painted prefab.
* Note: when in edit mode, the painted tile will be correct. It is only after committing that it replaces it with the first prefab.
* Note: this works properly if I erase the first tile, commit. Then paint the second tile and commit.
Possibly related question:
I have set up a basic ‘blank’ scene with a tile map and one floor layer filled in. When creating new scenes/levels, I just duplicate this base scene and edit the tile map per scene. This all seems to work fine as the overridden tilemaps work properly per scene.
Would there be any issues here since I don’t create new tile map data per scene?