Why not just put the appropriate key phrases in the site's menu, and not worry about domains? IMO, keywords solely in a domain name don't give you a boost. The boost comes from inbound anchor text. As I look at it, the primary advantage of keyword.com is that it's going to prompt the use of "keyword" in the anchor.
Also, keep in mind that when you 301 a domain to a category, the old domain effectively ceases to exist. If you had previously promoted the domain, you would be redirecting the presumably keyword-rich inbound links that the domain received.
In the scenario you describe, though, there wouldn't have been any previous promotion. No one, in fact, would ever see the 301ed domains, because they would be rewritten. But since you control the nav links, you're controlling the navigation anchors anyway. External inbounds to categories would possibly contain anchor text that reflected category names... but that's roughly where you'd be with category domains.
In answer to your question about Google's reaction to too many redirects... I've heard it on fairly good authority that if you did 301 a lot of previously promoted domains to one site, Google would probably not like that.
One other option here... you may simply be thinking about building multiple interlinked sites, using widgets.com, gizmos.com, gadgets.com, for those respective categories. I think you'd probably do better if you either just used one domain, or else perhaps used subdomains (assuming that each subdomain would have a lot of content).
Google doesn't like multiple interlinked sites, unless you can get lots of inbound links from independent sources to each domain. Otherwise, they may look like a closed network built to inflate PageRank.