First assume the hypothetical scenario, that someone has infinite hashing power, starts with the genesis block and mines one block, that has higher difficulty than the whole "normal" blockchain accumulated. Let's call this one-block blockchain (B) and the regular one (A). Would this be the new "real" blockchain with only 50 BTC in circulation? To extend the question, secondly assume our attacker splits their hash power to mine a whole blockchain with similar length to the current one but higher accumulated difficulty, how would we know if it's the real blockchain? All non-fake transactions are in Blockchain (A). There is no concept of time in the blockchain, but everyone on the planet would know that (A) is the real blockchain because it had been used for so long. Is there some mechanism to prevent this, some kind of sanity check?
that has higher difficulty than the whole "normal" blockchain accumulated.
That's not possible. The difficulty of a block is solely a function of the timestamps of the blocks in its history. It does not depend on the block itself, it cannot be chosen by the miner, and isn't dependent on how low the hash is. The only thing that matters is if the hash is low enough or not to meet the difficulty target. The difficulty can go up at most 4x, and that happens only when the past 2015 blocks took less than 3.5 days.
In general, if there are two chains and both are otherwise valid, the one with the highest accumulated difficulty will win. There is nothing to protect against here, (short) reorgs are a fact of life, and long ones cannot be prevented. The economic assumptions underlying proof-of-work imply that no attacker will want to pay the cost for such a deep reorg. If that happens to be wrong, we should move to something else.