Ballast resisters
Ballast resistor limits the maximum coil current. It can be calculated using Ohms law. Current = 12V divided by sum of ballast resistor and ignition coil primary resistance. An example : Stock coils typically 1.5 Ohms, ballast 1.5 Ohms. Current max of 4A = 12/3.
Yes energy is not linear with current, it goes up with the square of the current. Double the current, increases energy 4x.
A spark is initiated by high voltage, it ionizes the gap resulting in low impedance, the energy is then transfered via coil transformer. The leakage inductance of coil can limit energy transfer, can coils with axial core have higher leakage inductance than modern e-core designs.
The peak plug voltage is limited by the primary peak voltage times coil ratio, or plug excitation voltage whichever is lowest.
While speed if device that switches coil current increases primary voltage, modern IGBT transistors have built-in voltage clamps for over voltage protection, typically around 400V. With typical 100 turn coil ratio, peak voltage 40kV.