If you want the grain to show through, analine dye is the only way to go. Stains are pigments that mask the grain. Analine dye is basically transparent. I would suggest alcohol-based dye as the water-based versions tend to raise the grain of the veneer.
I usually thin mine out pretty much so I can put on multiple coats until I reach the color I am looking for. This is less risky than trying to do it all in one pass. This is especially important with black since you can get it so black it is no longer transparent.
If you want to end up with a high-gloss topcoat, it may be a good idea to use multiple coats of sanding sealer until the grain is filled and the surface is completely flat. They use the dye and finally clear top coats that can eventually be rubbed out.
If you do not have spray equipment, you can use cans of gloss nitro lacquer. You will need about six coats or so. This will then need to cure for a week to 10 days and you can then rub it out to any level of gloss desired.