Discarding divergent sensor data from running average
You have built a system that is by design rate sensitive, to allow it to reject large but slow environmental changes. So it is now insensitive to slow target changes, as when a car approaches very slowly.

There is no magic that you can apply to discriminate between these. You have got the classic binary classificiation problem. If you could get a clear measurement difference between your detect and no detect measurements, then you can get 100% success rate with 0% false positives or false negatives. If you have overlapping measurements (which you allow for by having a car approach very slowly) then any rate of change threshhold you set will allow at least one or the other error to occur. A very low threshhold would get falsely triggered by sudden temperature changes, a high threshold will miss slow cars.

You either need to specify the present behaviour in terms of rate threshhold versus false negative and false positive rate, or take some steps to incorporate your knowledge of the system to reduce the allowance you need to make for environmental effects. Perhaps measure temperature, and if it correlates with frequency drift, use this to reduce the allowance you make for it. The ideal system, as used in food metal detection which has to be extremely sensitive, is to use two loops, and detect differentially, however you might not have the freedom to modify the road in this way.