No, it's not bad/complex--that's a pretty standard usage of memcache as a write-through cache of a persistent data store. However, it's a really expensive solution from monthly AWS billing perspective.
Have you benchmarked using just DynamoDB at all? It's an SSD-backed key-value store that ought to be plenty fast enough. I say "ought to" though, because I had issues with horrible latency when I attempted to do the same thing on it. We ended up moving purely to an ElasticCache solution and simply live with the possibility of node failure. But this was for an existing application that was shoe-horned onto AWS in a hurry and was using ridiculously large session objects. I haven't had time to revisit the idea.