When to use multiple tables in DynamoDB?
Yes, it is legit to do what you are saying. Both are actually. There are some variables that you do not have in here and can help guide how the data model should be done.


What kind of scale are you looking to get to with this application and data model?
Of the application's access patterns, what is the ratio of reads between those patterns. Meaning which one is hit most over the others.
Of the access patterns you list, how many times per second are they performed?


For example, if 80% of all reads are to find the users on a project and that needs to happen 30,000/sec, but in your application not as many people will go that step further and find out the documents for the projects, then it is 20% of the overall reads and may only be 2000 reads/sec. That first one is the "hot path" of your application and should be optimized for.

Also think of it this way, with a non-relational database like DynamoDB, you can optimize for how your application uses and accesses the data and not like relational database where you have to worry a lot about how it is stored in the database.