However, I still get expired items with the full document included.
This has been very simple to test, by creating a new item every second with a 10 second TTL. The list in the view quickly grows, and the expiration included in the “doc” object, is quite clearly in the past.
As is it detailed in the documentation, when the document is expired, and has been accessed once using a get, the include_docs=true, will return null in your view. (I will ask for clarification in for the documentation)