Is this just purely convention, or is there some kind of technical reason behind it?
Assuming you're talking about round-type (cylindrical) batteries, such as D, AA and AAA, it's to ensure maximum contact with the flat end of the battery, which is the "negative" terminal as described in the ANSI standard. You'll commonly see leaf-spring contacts as well as coils. The side with the "nub" will automatically provide a solid contact if enough pressure is provided by the contact on the flat side, so no second spring is needed.
I can only assume that the flat and "nub" design that the ANSI standard describes for round-type batteries was chosen because it provides a clean contact mechanism as well as a clear indicator of polarity to consumers.
It is quite common to use the physical properties of the NUB to provide polarity reversal protection in a battery. So the NUB will fit between two plastic shoulders and make contact with the plate. If there were a spring this end you would need to more tightly control tolerances in the spring and its mounting compared to a flat plate. For this reason it makes economical sense to place the spring at the flat negative end and push the positive nub onto the plate.