The gradient vector points along the direction of greatest increase. In this case, that means it points in the direction in which illumination increases most rapidly, and so in your [1][2]
example the gradient at 2
indeed points left.
Conversely, if you took the gradient of the opacity you'd get a vector pointing towards the direction of increasing opacity, ie "inwards". You could take the negation of that to get a vector pointing outwards, but there's still the problem that opacity is local. It tells you only about the structure of the object in the immediate surroundings. When you're shading something, what you want to know is how well-lit a surface is as you travel from point-to-point. Knowing the surfaces of constant illumination allows you to deduce that, but from a surface of constant opacity you could only deduce how well-lit it'd be if there were nothing between the surface and the light source.