You could also do this with a couple of modifiers, and shape-keys, on a mesh Cylinder.
An over-the-top width Bevel, Shape 0.5, with 'Clamp Overlap'
A Weld, to get rid of the duplicate vertices at the ...
I don't know if that fits all your project constraints, but that can be the following using geometry nodes.
Make a sphere. Remove bottom half part.
Rotate it 180 and shift it down.
Shift again but up....
(This answer is a frame challenge.)
Don't use a driver expression. Use fcurve modifiers.
Set a keyframe on the Seed property.
Open the keyframe editor.
Add a Noise modifier to the fcurve and scale up ...