I've used both DynamoDB and Elasticache for session storage purposes, depending on the needs of the service. Typically, I have used Elasticache for non-critical session storage or cases where I have set an application to have a very short session expiry such that the number of users that could be impacted by an outage might be relatively small.
For more critical storage (e-commerce sessions for example) or sessions that might be set for longer lifetimes to aid in user convenience, I have opted for Dynamo. Obviously, Dynamo is typically slower than Elasticache, but still very suitable for session storage, especially at high volumes where you can guarantee your read/write throughput (as opposed to traditional database-backed sessions).