I could be completely wrong here, but my understanding is that each miner is given work to do and while that work is independent of everyone else's work, everyone is contributing to finding the solution. That means, even a low hash rate worker has a chance of solving the block. I have always assumed that solving the block was a "brute force" method, so the pool just hands out work to everyone (Here, try this. Now, try this., etc.) The reason larger hash rate miners crack many (most?) of the the blocks is because they can try so many more attempts than a low hash rate miner. However, the attempts that a small miner makes (even if they fail) are still helping the pool because those are attempts that the other miners don't have to make because Everyone gets unique work. Pretty sure Kano can explain this much more accurately.
Edit: To cut to the chase, assuming two pools are run exactly the same (e.g Kano S3 pool and Kano S9 pool) a 100PH pool made up of nothing but miners running S3 rigs, will be just as successful at cracking blocks as the 100PH pool made up of nothing but S9 rigs. (Not talking efficiency here, just block solving capability). Total pool hash rate is what counts, not how you got there.
Your understanding is correct. It is the total hash rate that matters, and workers are given their own space that will pretty much never overlap with the space of other miners.
We're all brute forcing a double SHA256 hash with slightly different parameters (nonce, time, extraNonce) and some of the same (merkle root, previous block, version) and each miner has effectively an infinite search space with those variables.
The other thing to remember is that while people talk about "cracking this block" its actually been hundreds of blocks on the network, we just didn't brute force it before someone else on the network did.