Eh, when we're talking about new features or major architectural changes rather than bugfixes, there's often quite a fight to get your code up-streamed when your changes are significant; it goes from "style" arguments all the way up to "your feature is a bad one"
this is probably similar to what would happen with art. If you wanted to draw a slightly better ironclad, it'd probably be pretty easy to get it accepted. If you want to change the look and feel of the whole goddamn thing, good luck with that; release your own tile set.
Problem with art is that unlike with bugs nobody even know what needed and what isn't. As result there is really low guarantee that art you can make actually going to be used.
If you have a very small patch that obviously fixes something broken and doesn't change much else, you are gonna have an easy time, be that change art or code. And as you said, either way, that's how you should probably start. Little things.
Either way, if you want to make major changes, be those changes in art or code, you are going to meet resistance, especially if you don't already have social capital built up in the project by making lots of smaller changes.
Getting your changes upstream in a open-source project is a fundamentally social process. If you show up with a bunch of patches and then leave, well, a lot of your work is probably not going to get used. Hell, even if you do everything right, a lot of your work isn't going to get used. That's just how things work.
Still I can't agree that upstreaming of code is anything like hard in case of most open source games. There is only few projects that feature complete and have plenty of programmers. Of course such projects usually have higher requirements to contributors, but most of projects are newbie-friendly as they always happy to see more developers.
But all this is saying is that there are very few individuals who are willing to work on managing open source projects. Or at least they don't get in contact with the projects they could help with.
Open source projects need more contributors than just programmers, but how to achieve that is a hard question. Programmers don't make good artists, UI designers or managers, but finding individuals who would like to contribute is an issue.
Personally I'm participate development of VCMI (FOSS engine for Heroes of Might & Magic 3) and there is plenty of artists that contributed to modding community in past and totally okay with contributing their work under CC licenses. Sure that for more popular titles it's may be even easier.
But I agree it's really tricky to find contributors who going to work on brand new game or professional software like GIMP.
Basically if you're programmer you can find some some project on github, check that some feature missing or bug exist and just by reading code implement or fix it. If you just stick to the project coding guidelines most of the time you'll get code review, advices, requests and then contribution going to be accepted. Easy.
In same time when you're UI designer it's not easy. UI designer would have to prove that his version of UI is better and why. As there is no one managing project and take decisions it's can be tough to argue with programmers.
And for artist there is usually no one to talk with at all. What worse due to lack of management most of open source games don't even have some list of assets they need, not even talking about art style guidelines.
So problem isn't the fact that artists don't want to contribute, but that there is no one to accept these contributions. Just as everyone they don't like idea of working for rubbish bin.
PS: Project where art contributions handled properly is 0 A.D. So open source game with quality art and style is doable, but require some management effort.