Again sorry for making it more complicated, but I know you'll like how buttery smooth it is at the end!
Slew rate has to go after the clamp.
Create the slew limiter in initialize: otherwise there is a long time before when it is created and first called, causing it to not slew at all.
4 is too high! 4 units / second means 0.25 seconds to get to 100% power, but we cap at 30% power, so it'd only take 0.08 seconds to get to full speed. Somewhere between 0.5 and 1 would be much better. (notice these units are inverse of the units the spark max rate limiter uses)
Again sorry for making it more complicated, but I know you'll like how buttery smooth it is at the end!