"I think she mostly hates the fact that she knows much of what is being taught, and is really, really bored much of the time. And the stuff she does want to learn about (geography, Civil War, multiplication) obviously isn't offered."
Hm, that's too bad. One thing we do with my children is home education, during which they get to learn about their own interests and challenge themselves in math at home.
I also encourage my older daughter to read under the desk if she's bored.
We've also talked about the purpose of school--how a lot of it is learning what others expect of you, NOT learning what you want to learn. Nobody will pay you to have fun, and school is your job when you're a kid. If you already know what they are teaching, fine, but what you need to show them is that you can perform tasks which are easy for you. That's it. It's your job.
In other words, my kids do not expect school to be fun or stimulating. I think that's an unrealistic expectation. It's public school. The purpose is to make sure we have a population mostly composed of productive adults, not to realize one's full potential, have fun, or pursue your interests. That is what you do on your own time.
Having appropriate expectations of what you are going to be doing is helpful because you can create coping mechanisms for yourself. You also feel understood. Nobody's telling you to enjoy something you don't enjoy.
The whole "learning is fun" thing I think confuses some children. Learning IS fun. School is not fun most of the time.