Create variable mechanical resistance to dynamo spinning
Or is there a simpler way to do this with transistor control?


Yes, this can be done with a power transistor switching on and off a load resistor using pulse width modulation (PWM) techniques in order to give the effect of a variable load current on the dynamo. The PWM signal can be sourced from the "arduino or similar" controller.

It's simpler if you know how and, more reliable in terms of longevity and accuracy of loading.