Yeah I agree with Jaybles here: make sure you can run the curl noise impulse functionality all by itself. So make a new emitter, just a cloud of particles. Apply your curl noise idea with the impulses on that. Make that work. Then move on over to making it lerp in and out with the mesh.
From what I can see, I would guess that after applying the curlnoise once, the particles have been spread out, so when you try to re-apply it, you are just applying it on particles that are already scattered by a curl noise.
Again, we don’t have access to your stack, but if you are lerping between positions: you’re not actually moving the particles per se. You’re just moving them from one attachment to another (ie namespaces containing vectors). This is why on your second lerp in the vid, the particles stretch out. The standard curl noise module will just move the Particle.Velocity and Particles.Position namespaces.
To do what you’re trying to do, you’ll have to move Particles.Position itself when you move particles back to the model. The lerp module won’t do this for you.
Without digging through the stack it’s hard for us to give you an exact answer.