Also, I think dwarves often actually like what they do - they get "satifisied at work"good thoughts. So, if some like applying their craft skills, why would they stop doing it once they became heroes?
Society might not force them to work, but that doesn't mean the heroes don't want to.
So, here's another suggestion: allow heroes and champions to work and allow us to change their preferences, however, make it so they give some bonus by not working. For example...
A)
Heroes who are not working or sparring can be "admired" by other non-heroic dwarves, giving both the admirer and the admired some kind of happy thought...depending on their personalities.
A modest hero would not be as happy as an immodest one at being admired. A modest dwarf might also be more likely to admire heroes. Other personality traits would also play part.
B)
In addition, heroes who are not currently working or sparring could raise morale in the dining hall by telling tales of their great deeds, assuming they did any other than training. That is, they actually killed enemies and monsters.
C)
If a a dwarf without any(or dabbling)combat skills is drafted in the same squad as the hero(possibly with the hero being the leader), he is "inspired"by his example and does NOT get a bad thought for drafting.
D)
Maybe...if you feel having heroes work is too unbalanced, the more immodest heroes might get an increasing bad thought from doing normal civilian work. "I'm a warrior! I'm not supposed to build tables and engrave floors!". However, they WOULD still do the work, maybe a bit less efficiently. Also the bad thought from working would gradually become bigger with time and work.