In Onion Architecture, outer layers implement interfaces.
My advice: design your Domain Service interfaces so that they are convenient to use from your application. Use your ISessionManager inside your domain service implementations. Since your implementations are at the outer layer, your dependency on ISessionManager (and consequently NHibernate) is also at your outer layer.
For my part, I tend to use a generic repository over NHibernate, but that decision is still an implementation detail of my Domain Services.
If my domain service interface looks like:
IWidgetService.MakeWidget(MakeWidgetParameters)
My implementation will open an ISession and do the work of making and persisting the changes I want to the Db. In this way, ISession will not leak into the outer layers.