Configure Unity DI para la identidad ASP.NET

Estoy usando Unity con éxito para todas las inyecciones de constructor regulares, como repositorios, etc., pero no puedo hacerlo funcionar con las clases de identidad ASP.NET. La configuración es esta:

public class AccountController : ApiController
{
    private UserManager<ApplicationUser> _userManager { get; set; }

    public AccountController(UserManager<ApplicationUser> userManager)
    {
        if (userManager == null) { throw new ArgumentNullException("userManager"); }
        _userManager = userManager;
    }

    // ...
}

con estas configuraciones para Unity:

unity.RegisterType<AccountController>();
unity.RegisterType<UserManager<ApplicationUser>>(new HierarchicalLifetimeManager());
unity.RegisterType<IUserStore<ApplicationUser>, UserStore<ApplicationUser>>(new HierarchicalLifetimeManager());

Es lo mismo que otras publicaciones aquí para Autofac, Ninject, por ejemplo, pero no funciona en mi caso. El mensaje de error es:

Se produjo un error al intentar crear un controlador de tipo 'AccountController'. Asegúrese de que el controlador tenga un constructor público sin parámetros. La creación manual funciona, por supuesto:

public AccountController()
    : this(new UserManager<ApplicationUser>(new UserStore<ApplicationUser>("Mongo")))
{
}

Que pasa

ACTUALIZAR

Como lo sugiere @emodendroket, acortar el código para esto es el truco. No es necesario el paquete Unity.Mvc.

unity.RegisterType<IUserStore<IdentityUser>, 
  MyCustomUserStore>(new HierarchicalLifetimeManager());

y

public AccountController(UserManager<IdentityUser> _userManager,
  IAccountRepository _account)
{
    // ...