Couple of notes, I think you forgot to apply timestep when adding rocket exhaust velocity, pretty sure it should be
u[idx] += backward.x * flame_velocity_amount * falloff * delta
v[idx] += backward.y * flame_velocity_amount * falloff * delta
You need to compensate by scaling up flame_velocity_amount, I used 85, seemed about the same.Thank you
In my implementations I use 4th order for both and vortices stick around a lot longer.
That'll perform even worse though, hopefully my CPU can handle it or I'm gonna need a lot of leftover time to make a shader