I know the larger grains should react first because they're more sensitive than the smaller grains, but are the types of grain exposed relatively evenly? [Number of large grains ~ Number of small grains] Or do they always favor one side over the other depending on the film emulsion? Or does it just always favor the larger grains because they're more sensitive?
As I understand modern B&W film manufacture, there are a number of layers in the emulsion. The layers vary in sensitivity and grain size. I think I read somewhere that there are usually 2-5 image forming layers. The days of a single thick image forming layer are long gone.
But to answer your question, the film grain in the top most layer will be exposed first. Be that smaller grain or larger grain depends in large part to how the film was manufactured.
Beyond that, it depends on the image. Where there are photons, there is an opportunity to capture the photons. The more photons there are in a given area, the deeper they will penetrate into the film. It's not really a question of big grains reacting before small grains. If there are enough photons, grains in all layers will react regardless of size.
What about when you overexpose [assume same dev time as box speed]; are the larger grains already "spent" and the added density just come from the smaller grains reacting?
As I understand it, density is built up by a number of mechanisms. I know I can't explain it quickly and accurately, so I'll just refer you to
Tim Vitale's excellent exposition on the subject.
Basically, graininess is caused by the formation of grain clumps. Grain clumps are largely caused by overlapping grains as seen by looking through all the layers of the film. IOW, the emulsion is not a 2D object, but is a 3D object with non-negligible depth. The overlapping occurs as you go deeper into the film.
Does essentially the same thing happen if you overdevelop? I understand why the grain increases if you underexpose and overdevelop...I'm just kinda interested if overexposing [with normal dev time] gives you similar results to shooting at box speed and overdeveloping in terms of grain.
Graininess is directly related to density. The reason that push processing results in increasing graininess is because it results in a higher Dmax than a normally exposed and processed film would. That's how you get the increased contrast index, by raising the endpoint of the curve and thus increasing the slope.
If you under expose and over develop one sheet of film, and over expose and under develop another sheet of film, and both sheets miraculously end up with the same Dmax, you'll find that both sheets have very similar graininess. Else, the sheet with the higher Dmax will exhibit more graininess, all other things being equal.