You mention the distinction between cultural appropriation and cultural exchange, and I think that’s a really good and valid distinction to make. But here’s the thing: in cultural exchange, both cultures are representing themselves to one another and both are benefiting from it.
Obviously if you do months of exhaustive research on that’s going to make your product better than if you had done ten minutes of reading on Wikipedia. But even so, at the end of the day you’re going to be Yet Another Dominant Voice talking about something you’re not actually part of. That doesn’t mean you shouldn’t do it. But it means you’re adding to (oh gods please don’t flay me, you guys, because I’m not up for a flaying today) a system of oppression – specifically cultural imperialism, where subaltern groups don’t get to have their own voices heard.
Ideal solution: offer to help marginalized people make their voices heard in products by and about themselves. Less-ideal but really good solution: get them involved as co-authors. Least-ideal solution (but still a solution!): try to do the least harm possible while speaking for them, and accept that you’re going to take a lot of criticism.