Turns out the matrix was fine. I made a stupid error in setting up the eye layer's viewport dimensions and that threw off the distortion rendering, making it look wrong on the hmd (the layer code was changed since my 0.8 test because I went from two textures to one shared SBS texture).
So now Oculus 1.3 is running fine in DX11 on Ogre 2.1.

I'll get GL going on the weekend. (Wait, I need to wake up for work in 4 hours? But it feels like I just got home! I was going to research monitors tonight too!)
For the hell of it, I decided to stress the async time warp a little. I forced ogre to run at 30fps. When close to objects head movement had a little judder, but head rotation (if I kept the same position) was perfectly smooth. Vastly better than I had today in Unreal using oculus 0.8 (I was running some unoptimised student maps in unreal, so it dropped below 75fps ocassionally).
I moved away from the scene objects, the movement judder wasn't noticable at all now, and rotation still smooth. I wouldn't even guess it was 30fps instead of 75.
I'm thinking of trying out OpenVR too. Some of my students have Vives, so they can test for me. (Kind of sad that I ordered my CV1 way before them, but they already have their Vives).
But I'm not really comfortable releasing code for hardware I don't own and can't test myself. Hey Valve, give me a free Vive!
Then I need to play around with Leap Motion Orion and Ogre.