This might be a dumb question, but are you using the same save file? I'm wondering in case you recently began playing 360H3 on your Xbox One and maybe didn't move your save file to the cloud on your 360 before doing so.Honestly I'm not sure. Usually when I load up Halo 3 on my Xbox 360 the storage device I choose is the cloud and when I play BC on Xbox One I don't have the option to choose. So I'm assuming both are in sync with each other but maybe not.
They should ideally both be synced up in that case. Problems might arise if you load up H3 on one console and switch to the other too quickly since the first console would not have enough time to sync with the cloud, but that's about it.
One thing I can suggest is to hop on your 360 and go to your storage devices. Check if you have a save file on your hard drive (or similar local storage). If you do, try starting up Halo 3 while not connected to Live. If this local save file has everything you need, you might consider replacing the one in the cloud. Not sure how recently you started using the cloud for H3, but it is possible there was a syncing issue when you initially moved the file for whatever reason. Just throwing out an idea, but this might not be the best one. I believe your campaign progress is based on local info rather than something from a server which is why I thought this might apply to you.