I kind of found a work around for my situation. I still don’t know why it does it though.
My thing was I copied one cloner object many times. Those, like you said, rendered in the viewport but not in the animation. So what I did was deleted all of those copies keeping just the original cloner object and made instances for the rest. They all rendered then.
This solution was limiting though because I had different parts of my cloner objects moving at different times. With the instances I didn’t have any of that control, they just did what the original did. So another thing I had to do was take the original to a new project, animate it, then copy it into the real project, then make instances for it. Then I went back to the new project, reanimated it to how I wanted the others to move, copied it into the real project again, and kept making instances of that one. It was a bear to do.
I’m not sure if you’re dealing with copies of cloner objects, but that’s as much as I’ve figured out so far. I hoped this helped a little. Let me know if you ever figure it out, it’s really frustrating.