I finished the halo 3 campaign for the 3rd time 2nd on the MCC and it didn’t give me any achievement for finishing halo which I though was weird. So when I did it the 2nd time on the MCC again it still didn’t give it to me. I made sure I didn’t have any skulls on. I finished Cortana and got the achievment and clicked continue without changing anything. I finished halo and watched the epilogue and I still haven’t gotten it after replaying it and I don’t know how to fix it.
Someone posted about not getting the achievement for beating oracle in Halo 2 on legendary yesterday. It sounds like a bug that needs to be fixed.
Hey OP, looking at your service record and it says they have unlocked ok. Sometimes it can take a little bit to actually pop up on your console, but you should definitely have them now. If you want to double check, go to your service record and scroll down to achievements. Change the dropdown to Halo 3 and you should see the legendary completion showing at the top 
https://www.halowaypoint.com/en-us/games/halo-the-master-chief-collection/xbox-one/service-records/players/Kid%20Alcazar