I did it to force state to be in the request (REST and all the jazz), the idea being that all method parameters are always created from request and nowhere else. This helps with reasoning and portability. Resources always take dependencies in their constructors while resource methods can only be populated by the request itself.
Every single time I've wanted argument scope to get something from request scope (or app scope), I've later been pleased with the separation of data and behaviour forced upon me! This is very similar to the common pattern of separating application state and moving the behaviour to request scope so it can partake in transactions etc.
If you REALLY want to get around this then you can create a HttpHandler to inject the data from request scope into the original request. Make sure you think about security if you do this mind.