Not true, there’s a third option: Stop operating in those countries. Which used to be a common choice for tech companies, until it somehow became unthinkable for some reason.
Meta is not a political or moral entity, it's a for profit tech company. I don't see why it would be expected to make judgement calls on government requirements. Are we expecting Meta to take a political stance for or against specific policies in every country in which it operates? How would its politics be determined? I think the sensible thing for the corporation to do is to operate as widely as possible and follow the rules where it operates.
Governments suppress information all the time. We know of a huge list of thousands of documents and terabytes of video implicating people in child abuse and as important as that is, we aren't getting all of the information. That's the government position. Redact and suppress. It's up to the people to demand transparency from their government and if they don't demand it and fight for it, they won't get it. Corporations like Meta aren't there to help fight the power.
Is it better for human rights for a channel of communication to exist only if every single person can use it? Or is it a net positive for these communication channels to exist, albeit in an imperfect form?
Operating in these countries helps gather information in them.
It's called shareholders. When you need a single person with a single share to be able to sue the company for not doing its fiduciary duty that is the result.
Meta has also been regularly nuking/blocking rights-related accounts in countries that do support human rights.
E.g. in The Netherlands. First they did a mass block last December, then again in April:
https://www.at5.nl/artikelen/237924/meta-verwijdert-instagra...
Some were reinstated again, but not all and not after they have been offline for to long.