Officially, it's not supposed to be a good idea to mix different brands of emulsion paint or even different lines of emulsion paint of the same brand, such as a lower and higher priced line made by the same company.
The reason given for this is because of potential incompatabilities between the additives that are used in the different paints, and if there are such incompatabilities, the problem you get is called "flashing" and it is typically characterized by the resultant painted surfaces not being of uniform gloss.
You can, however, mix different paints within the same line from the same manufacturer. That is, you could mix a flat white and a gloss red from the same line of paint made by the same manufacturer to make a satin pink.
And, you are correct that by mixing white and black paint you will get a grey paint. (That's cuz the colors in the paints come from pigments, which are tiny colored solid particles, so the colors are additive.)
But, with all that said, the City of Seattle in Washington state put on a conservation program whereby people were encouraged to donate their old emulsion paints rather than dispose of them in the landfills. The City then mixed all of the donated emulsion paints together to make an "off grey colour in the green direction (which was subsequently christened "Seattle Green") which was given away free of charge to anyone in need of cheap emulsion paint. And supposedly, no one had a problem with flashing in that Seattle Green paint. So, all I can say is, officially it's not recommended, but 10,000 gallons of the ugliest green paint you ever saw can't all be wrong.
I would just take your white paint to any paint store that sells that brand of paint and ask them to tint it grey for you. They'd hardly want to charge you for the cost of the tiny bit of colorant they add. Maybe offer to toss a "quid" (whatever that is) into their coffee money or Christmas Party fund collection of they tint your paint black for you. I expect 99 places out of 100 would do it for you no charge.