I don't see any paradox here. The principle could be the same as in computer science: You can move data either by copying or referencing. In a world that having teleportation (like MMO games, or real-world if we figure it out somehow) the principle should not be any different.
1. Moving by copy: Create new data which looks exactly the same (deep copy), and put the data in desired new address. So teleporting by copy is just create the exact same character in the new position, and then make the old one disappear.
2. Moving by reference: The data is the same, it's the pointer to the address we're updating. So teleporting by reference is like there's an external table of characters, and the world is just referencing them with positions. Teleportation is a process that originally the position that points to the character was A, then the teleportation creates a new position B, and reference the exact same character and then remove position A.
In short expect(character).toDeelEqual(teleportedCharacter) should always be true, but expect(character).toBe(teleportedCharacter) should be true if it's referencing, but false if it's copying.
Although it could be either way I don't see any paradoxes in both.
Now let's say it's the player character, you implement the copy mechanism, and play your game.
You launch it, start the process, the code faithfully creates a copy of the player character, then you suddenly see a game over screen as if your character just died.
You had a bug: you created a new character for the player, but didn't update the gameplay code to reflect the change to the copied character.
1. Moving by copy: Create new data which looks exactly the same (deep copy), and put the data in desired new address. So teleporting by copy is just create the exact same character in the new position, and then make the old one disappear.
2. Moving by reference: The data is the same, it's the pointer to the address we're updating. So teleporting by reference is like there's an external table of characters, and the world is just referencing them with positions. Teleportation is a process that originally the position that points to the character was A, then the teleportation creates a new position B, and reference the exact same character and then remove position A.
In short expect(character).toDeelEqual(teleportedCharacter) should always be true, but expect(character).toBe(teleportedCharacter) should be true if it's referencing, but false if it's copying.
Although it could be either way I don't see any paradoxes in both.