How did Bitcoin Cash fork from Bitcoin? I was wondering how it was possible because of the following thinking:

Let's assume that Bitcoin Cash's hashpower is smaller than Bitcoin's. Then they would start mining at the same point in the Blockchain and one of them would find the next block. If it were Bitcoin's, both would mine from this new block because both would accept the new block. If it were Bitcoin Cash's, then Bitcoin would ignore the new block and a fork would happen.

But, as Bitcoin would, on average, find more blocks than Bitcoin Cash, and their blocks are accepted by Bitcoin Cash, the fork would never really occur because the longest valid chain would be Bitcoin's.

Bitcoin Cash miners would be flipping between their and Bitcoin's blockchain.

What am I missing?
The blocks Bcash miners find are not compatible and are thus completely ignored by Bitcoin nodes. Might as well not exist at all.

Any node that tries to pass a Bcash block to a Bitcoin full node will immediately be banned.

Bcash software was also altered to ignore Bitcoin blocks, otherwise it would indeed still have a problem.