You could go either direction with this answer. Whether you consider David a hero or not, be sure to back up your answer with those three reasons mentioned in the question. You can choose which way to go by defending what you actually think, or you can defend whichever choice you believe is easier to write about.
In my opinion, I do think that David is a hero. I don't think that he's a great hero, but he does have some definite hero characteristics and perform a few heroic acts.
First, David fits the incredibly standard hero type. He comes from fairly humble beginnings; his father is involved with ruling Waknuk society, but he's also a farmer/rancher. David works hard for and with his family. He's not living a life of luxury. He's a normal kid with chores. It's very similar to Luke Skywalker's introduction in the 1977 Star Wars film.
Second, David is given special powers and a call to adventure that allow him to step into becoming a sort of hero. He has the power of telepathy, and he uses this power to protect himself and the other telepaths. His call to adventure is a combination of his need to escape the Waknuk society in order to save his life and the call from the Sealand woman.
Finally, throughout the story, readers see that David is brave, selfless, and trustworthy. All of these are traits shared by most heroes. He knows that he should report Sophie for being a Deviant, but he doesn't. He risks his own safety to keep her safe. He does this throughout the story, and even when he is in quite dangerous situations, he doesn't panic and lose his cool.
David Strorm is a hero because:
1. He discovers Sophie's mutation and keeps it secret from his father, the ruling hegemony. He also keeps secret the fact that he's been communicating telepathically with his cousin, Rosalind. David only reveals Sophie's secret to his father after being severely beaten.
2. David, Rosalind, and Petra have the courage to flee everything they've known and escape to the dangerous fringes. They are pursued by David's father and his troops.
3. David is a hero because he tries to protect those he cares about and those who are weaker than himself. He tries to shelter and protect both Petra and Sophie, but it is ironically Sophie who hides and protects David near the end of the novel.