I (the OP) have been working on this today, and I didn't find the exact answer I was looking for, but did find a workaround.
I am pretty convinced that the OWIN middleware is using an ISecureDataFormat internally somehow to protect/unprotect the cookie I was seeing (named ".aspnet.cookies"). I couldn't figure out which ISecureDataFormat the framework used, but I did find out where we were using one to handle the bearer token passed in the AJAX request headers.
Basically, in an AuthStartup class, I had some OAuthAuthorizationServerOptions and found that we used its AccessTokenFormat property (which is an ISecureDataFormat) to handle the bearer token.
Since I could access AuthStartup.OAuthOptions.AccessTokenFormat from my class, I decided to just put the value of the bearer token into my own session cookie, then use AuthStartup.OAuthOptions.AccessTokenFormat.Uprotect() to decrypt its value.
This gave me an AuthenticationTicket, whose Identity I could stuff into a GenericPrincipal, which I then assigned to System.Threading.Thread.CurrentPrincipal and HttpContext.Current.User in a custom FilterAttribute/IAuthorizationFilter which I applied to the controller that needed to use cookies.
I wish I knew how to handle the situation more elegantly, but it worked for what I wanted to accomplish.