This is what I've picked up from reading body shop forums.

Body fill is designed to go directly on bare metal. A good quality name brand will have some anti corrosion properties in it similar to etch primer.

Etch primer has an acid in it and should not be used under or over body fill.

Even though body fill was designed to go on bare metal. It is also safe to put over Epoxy primer that has been cured and sanded properly. This is actually the prefered method used by restoration shops and Hot rodders because it gives the best protection for your vehicle. Plus having the epoxy primer on there provides protection so you can take your time working on your project.

Most high turn over regular body shops prefer to put body fill over bare metal because it is a much faster process. They don't have to wait for the epoxy primer to cure. Time is money for them. Plus they paint soon after so the body fill doesn't have much time to absorb moister anyway.