A pod is running as long as one of the containers is running. If you need them to exit together, you have to arrange that the sidecar dies. We do not have a notion of “primary” vs “secondary” containers wrt lifecycle, though that’s sort of interesting.
One option would be to use an emptyDir volume and write a file telling the sidecar “time to go”. The sidecar would exit when it sees that file.