Anything on the underbody of a vehicle should be expected to get oil or other petroleum product on it. That just happens.
Undercoating is the wrong answer.... it PROMOTES rust, the worst kind of rust. Traps water under it away from air, giving the black burrowing rust. You are probably better off with nothing in some ways. It's great if there is never a hole or defect in it, but once ther is, you have a rust hole coming.
Dissolving some heavy oil in mineral spirits allows you to spray it on the rust areas, which generally will stop surface type rust, but may not stop the black rust that burrows right through. I have heard of adding vaseline to the mix as well, to make it more resistant to being washed off.
You have to do that on a hot dry day, after several of the same, so that you are not trapping moisture.
Another good thing is to use any thaw time in winter to wash off the underside. I have laid out a hose, with a rotary type lawn sprinkler on it, turn on the water, and pull it a foot or so at a time from back to front under the vehicle. Seems to do a good job, especially if you then spray the wheel wells also.