IMO these things should either a) be actual businesses, accountable to the market, or b) be actual government agencies, accountable through political mechanisms. When we try to blur the lines we all too often end up with the worst of both worlds. Unfortunately the general public hears "non-profit" and assumes that means an organisation that's more likely to respect their interests, when in fact the reverse is true.
In a large business it can stay hidden for a long while (especially if it's near to something profitable), but sooner or later someone will find it worth their while to follow the money - at least, there's an incentive for that to happen. For government things are even less reliable, but at least there's an opposition who has an incentive to find problems (also media etc.).
Excessive executive pay is common in private firms, of course, but in that case, the shareholders have some incentive to ask the CEO to take a pay cut and hand the money back to shareholders. As a result, we don't regard it as "corruption" when the CEO convinces the board of directors to raise executive pay. The shareholders may be acting wisely or foolishly, but it's "their money" to waste.
But in public organizations like these, with significant revenues (FIFA and IOC make most of their money from selling broadcasting rights, etc.; Nominet makes their money from domain registration fees), nobody's incentivized to keep executive pay low, but we all find it morally disgusting when they keep a lot of money that "should" have been used to promote the public good.
See also Mozilla's executive leadership. Mozilla makes their money from Google. Mozilla is "supposed" to use that money to continue its mission, ("We're building a better internet, ensurig the internet is a global public resource, open and accessible to all") but when Mitchell Baker takes home $2.4m in salary, there's nobody with skin in the game to say "no, that money should go back to Mozilla so we can use it to build a better internet."
Your suggestion to set up an auditor/oversight board is what causes the bribery. IOC has an ethics committee, but their skin isn't in the game either, so it's easy to offer them bribes to look the other way, allowing executives and the ethics committee to take their cut.
That $2.4 million dollar salary is from 2018, a year when Mozilla made most of it's money from Yahoo. This is relevant as that Yahoo deal saw Mozilla making between 100-250 million dollars more a year than their deals with Google. That is what resulted in the board increasing their pay, and after the following Google deal was far lower many of their executives were forced out.
For better or worse, it just "looks bad" when a non-profit executive makes a seven figure salary. And when people ask "could we set up an ombuds/ethics committee/advisory board to prevent Mozilla from doing this?" The answer is the same: no, that wouldn't really work.
The donations are for the foundation, the corporation makes a lot of money off their search engine deal. People often bring these things up as they sound bad, so if you're going to to repeat it add the necessary context and avoid the simple misunderstandings.
>could we set up an ombuds/ethics committee/advisory board to prevent Mozilla from doing this
They have a board that picks the corporation's CEO and sets their salary. I doubt you want the monetary sources to control this board, as that would give Google almost total control.
1. ICANN and the whole Public Interest Registry in the US.
2. The well-documented corruption in the International Olympic Committee and many national olympic committees.
3. FIFA, almost too much corruption to name.
I wonder if something could be changed about the mindset when these organizations are set up that could reduce this corruption. That is, instead of pretending from they outset that they exist for the public benefit, accept the reality that with the amount of money that they handle that they have all the incentives to become corrupt and have something like a separate auditor/oversight board with different incentives from the get go.