This can be done without mirroring by simply creating two unique objects and then adding a Transformation constraint to one of them.
What this constraint does is allow you to map any transforms of one object to any transforms of another object. In some ways this can be easier than setting up drivers. Here, the Y location part of the constraint is inverted, while the Z and X location parts are mapped one-to-one.
In the included Blend file, I have two spheres. The one to the far side of the center plane is Transformation constrained to the sphere on the near side of the center plane. The pic below shows the settings I chose to get the sphere on the far side of the center plane to mirror the motion of the one on the near side. By selecting and keyframing the sphere on the near side of the center plane, the other sphere will follow (but won't have keyframes of its own).
If you choose to play with the file, note that I added a second constraint, a Limit Location constraint to the near sphere, but this has nothing to do with your problem. So don't let its presence mislead you. I just thought it would fun to see the near sphere bump into the center plane and go no further, as if there was a real mirror in the middle, and the far sphere was merely a reflection of the near one. :)