First of all, are you sure we are talking about literal “Teams”? If so, this appears incorrect: “Support explained to me that, by proceeding team by team, if a person is present in more than one team, we would have to pay for their seat more than once.” That might make sense for Workspaces or Organizations. NOT for Teams. Anybody can be part of 100 Teams with only 1 seat payable.
For such a small non-profit org as you have, there may be little or no reason to even have Teams at all. [Other than a single one, I mean…that is unavoidable.] Only have different Teams if you want the functionality that you derive from it, which IMO is quite limited. I’d recommend starting with a single Team for the whole org and then only consider further Teams if you really find you need them.
You probably don’t want or need multiple Workspaces or Organizations. Don’t create multiples here until/unless you find that a single one doesn’t work for you. It will be way easier to create your 2nd such entity later than to have multiples now and try to merge later.
So, I’d recommend carefully clarifying whether you are talking about Teams, Workspaces, Organizations, or something else. Start with the simplest structure possible, and simply add poeple there.