What’s a better preposition in this sentence?
I think it depends on what you want to say. You have two independent clauses, how exactly do you want them linked? You have already excluded the most obvious case where the two thoughts are split into sentences. So what are you trying to say? Joy will be spread because of the charity donation? In that case "because" or "since" might be good choices. If the joy comes from your sweaters and you want to mention the other in passing, you might try "while", or perhaps even something as simple as "and". You might also restructure and little and use "with". So here are some options:
Spread joy this season with our exclusive holiday sweater, because 25% of all sales will benefit...
Spread joy this season with our exclusive holiday sweater, and 25% of all sales will benefit...
Spread joy this season with our exclusive holiday sweater, with 25% of all sales benefiting ...
HTH.
The one-word substitution for "where" that is potentially more correct than what you have is "whence", meaning "from which". However, whence is uncommonly used and may be awkward in the context of marketing copy. If you're ok adding words, that also leads to "from which", as in "...holiday sweater, from which 25% of all sales...", though that may also be too formal for marketing copy. You are correct that English isn't giving you great options to choose from, given the sentence structure you're working with. If you can add agency, consider "Spread joy this season with our exclusive holiday sweater, and we'll donate 25% of all sales to (charity name)".