This problem only arises if *both* files get renamed in the same commit. If only either one of those files is renamed in the same commit, history is retained.
They didn't get renamed at all. I merely copied one of them.
In theory, yes. In practice, in code development projects, this problem rarely arises.
But can you fix it when it does?