Let's say the last block that has been mined is block number n. Now all miners (or mining pools) are trying to mine block number n+1 and there's a competition between them for that.
Nop, when the last block has been mined, every miner is trying to mine A block, it just so happens that it gets the number n+1,
used the word "faster". All miners (or mining pools) try to find a good block header faster than other miners and be the one who broadcast a good block header to the network.
This isn't how it works, using the word faster is simply wrong here, it makes it sound like mining is just like a car race where when one car reaches the finish line, everyone goes back to the start line and races for another round, this obviously isn't the case, because if it was, then all blocks would have been won by the fastest miner, which is what you would expect in a car race whereby the faster car would always win the race, mining is not like that and that's why a miner with a tiny fraction of hashrate can find block n+1 "before" the large pools who have the remaining 99.9999999999999999% of the hashrate.
The chance of a mining pool with 40% of the total computation power to win the competition is twice the chance of a mining pool with 20% of the total computation power.
In the long term, it's expected that the the mining pool with 40% of the total computation power mine twice as many blocks as the mining pool with 20% of the total computation power.
That's correct, having twice the hashrate means you are able to try twice as much to solve puzzles, it doesn't mean you can do it faster in a sense of a "race", I believe the key point you need to understand here is that when pool x solves a block, it has exactly ZERO affect on pool y's chances of hitting their own block, what other miners solve is irrelevant to you as a miner, the outcome of you hashing your own block is completely independent of every other miner.
I think what makes all the confusion is the block height because blocks go in order "chain", it gives the illusion that if someone found block n+1 it means they won against everyone else and then everything magically resets and they head for another round of block n+2 which as I explained isn't the case, simply everyone is randomly and independently solving blocks, it just so happen that blocks found are labeled/named/numbered in a series of n+1,,,, etc.
The only race miners take is AFTER they solve a block, not before, when you solve a block and tell the network to register it as block n+1, you want to make sure you do that before someone else does -- because at any given moment, you may solve a block and in the same exact second 2 other miners solve a block, here begins the race that would decide which of the 3 blocks is going to be registered in the blockchain as block number n+1, everything before that is far from a race.
Keep in mind that all 3 blocks are VALID based on the protocol, if there was a kind of a race in solving the actual block then only one block would have been valid, but all three blocks are because essentially they are just valid blocks, the miner with the best connectivity to other nodes would likely be the one who manages to make the network recognize his block as block n+1.