To derive that you would also need a smoothness constraint on said function, so that it can be locally approximated as linear;
You're solving essentially a global optimization problem; what use is (the existence of) a local linear approximation? If the utility function happens to be the eminently smooth f(x,y)=xy, then under the constraint of x+y=const the optimal solution is going to be an even split. It's possible to argue that this particular utility function is perverse and unnatural, but smoothness isn't one of its problems.
You don't even need contrived examples to show that utility functions do not admit their maxima along one axis. My other point was that charity may not be easily distinguishable from other types of spending[1], and our normal utility functions definitely don't have that behavior. We do not, among different types of things we require/enjoy, pick out the "most efficient" one and maximize it alone.
[1] As another example of that thesis, consider the sequence: I buy myself a T-shirt - I buy my child a T-shirt - I pool funds with other parents to buy T-shirts for kids in my child's kindergarden, including for those whose parents are too poor to afford it - I donate to the similar effort in a neighbouring kindergarden - I donate to charity buying T-shirts for African kids.
then under the constraint of x+y=const the optimal solution is going to be an even split.
Yeah, but unless you actually end up at that point, that's hardly relevant. If people donated rationally, we would always be at that point, but people don't, and we aren't.
and our normal utility functions definitely don't have that behavior.
We're normally only dealing with one person. If you play videogames, you quickly get to the point where you don't want to play anymore nearly as much, so you do something else. If you save someone's life, there's still anothe...
If it's worth saying, but not worth its own post, even in Discussion, it goes here.