Hair renders from regions outside vertex group
As with many things in life, I do not know the answer. But I do know how to cheat.

In edit mode, subdivide the faces you want hairy. Create a one-face-wide border between the hairy area and the rest of the surface. Assign your weight to the inside faces, and make sure your border faces are blue. Looking at the mesh in weight paint mode will show you if the hairs need a broader border area...

I am not sure this is right, but it mostly works....