These kinds of coverage problems are quite common and the simple answer is that you have to apply multiple coats over the affected area in order to get a build-up of paint film. Only then will you get a uniform finish.
Emulsion paint is deceptively thick when it's being applied and you would naturally expect it to cover a multitude of sins. Alas, when it dries, the paint film is incredibly thin and hides very little.
There is a difference between trade paints and retail paints in so far as the coatings formulated for trade use tend to have a slightly higher solids content. You wouldn't notice a huge difference though and it's certainly not a magic solution in this case.
I also wouldn't go out and buy another brand of paint just for this purpose since you only need to cover the areas you've filled, not the whole wall.
Do this multiple times and then only attempt to paint the whole wall to a finish when you're confident the filled areas will no longer be visible.
Also, make sure you apply these coats with a roller in order to match the surrounding areas as any obvious brush marks will just exacerbate the problem.
In extreme circumstances, where there are multiple repairs, it can be easier to use a lining paper to get all-round uniformity but it doesn't sound like you need to consider this option.