We could solve this problem by simply asking people for money to be given to us personally, and then making a large donation from that money, but right or wrong this feels disingenuous to me
I did both: we asked people to donate to recommended charities (only people who couldn't come did it) or to give us the money and we would donate it ourselves (my ex-wife's family was pretty generous with this).
The pro of asking them to donate directly is that you can elicit more engagement - if just one of your guests likes the idea and decide to copy afterwards, you already have a higher impact. If you want to do this, perhaps you could have an online campaign - like a crowdsourcing campaign. In Brazil, we often use doesuafesta to do it for birthdays - people can see others are donating, they can donate even if they can't attend, etc.
I'm not sure this would be disingenuous. When we give someone money as a gift we typically don't expect any real future control over how they spend it; elsewise they would have given you specific objects or gift cards.