I am not sure how qualified to answer your questions, and obviously there are probably others that would have a more complete answer but there were no responses, so I figured that I would help where I can.
From what I have done with my site, I have added a "Projects" section based around the default "Post" model and I extended the existing Gallery functionality in having individual pages to view with ease (all of that was done in under two hours). At the moment I am adding a user profile page where the user can edit their information, delete (suspend) their account, and an owner page for my account, as it is a working portfolio for myself, that just works as an activity feed.
All things considered yes, I think you should be able to easily find all of your needs met in Keystone.JS. I would just get into it, use the generator to build the test site they have available and tinker with it, I was very pleased with the relatively small learning curve, and the speed you can have updates move from concept to deployment is amazing!
Hope this helps,
Michael