First calculate the motion direction, by sampling the previous position. Because the position here is based on frame number, you have an indirect access to the previous postion by simply subtracting 1 from frame and sampling the noise texture there:
The effect is underwhelming, because the noise texture affects displace directly, rather than giving an acceleration that affects velocity that affects position… There's also no angular velocity, the cones don't turn suddenly only because of the consistency of the perlin noise, but the still rotate too much compared to forwards motion, and real objects don't tend to behave this way… For more realism you need a simulation, which I think is finally coming to B3.6, and is available in the alpha version, but for now:
How to create a simulation in Geometry Nodes?
P.S. If you want to control the speed of animation independently from noise scale, do it like so: