Use View as root homepage handler In Drupal 7 I'm trying to accomplish the following:

1) www.domain.com          =   ViewA (All posts)
3)  www.domain.com/muffins  =   ViewA (Posts tagged with "Muffin" taxonomy)
4)  www.domain.com/cookies  =   ViewA (Posts tagged with "Cookie" taxonomy)
5)  www.domain.com/...      =   ViewA (Posts tagged with ... taxonomy)

I have a view, listing posts, with only one contextual Filter of "Category" (my vocabulary containing the required taxonomy), which works when tested in views.

I can set ViewA as the homepage, satisfying 1) but subsequent pages 2),3),4) are not handled by ViewA. Instead they return page not found as Drupal isn't aware that ViewA can handle the requests.

I know I can create a second page view ViewB with an additional url path segment like this:

www.domain.com/recipe/muffins  =   ViewB (Posts tagged with "Muffin" taxonomy)

But then all of my content has to live one "level" down under /recipe — which is not ideal. 

Also, since the taxonomy grows as more recipes are added, hard-coding menu paths in a module is no a solution... or is it?

Any suggestions would be helpful.
I don't think this is possible without modification to Drupal core's routing. When you specify a Views page as the frontpage (e.g. /frontpage when you override the default Frontpage view), you're telling Drupal to route all www.example.com requests to that path (e.g. www.example.com/frontpage). 

If you mandate that a required contextual filter (e.g. /frontpage/%), that path component isn't "copied over" (e.g. www.example.com/cookies doesn't route to www.example.com/fronpage/cookies). Nor can you add a views page with the root path /. If this was possible, you'd then have to deal with the problem of overlapping paths (e.g. should /admin be handled by system_admin_menu_block_page() or by your view?). 

Instead of trying to fight Drupal's routing system, you'd be better off trying to hook into the alias system. For example, a module invocating hook_taxonomy_term_insert()/hook_taxonomy_term_update() could add a new alias for each term item you wish to shortcut to your view (e.g. aliasing /cookies to /frontpage/cookies).