Я думаю, что нашел приемлемое решение, включающее Named и WhenAnyAncestorNamed.
Я хотел, по сути, иметь «тег», который идентифицировал бы область, поэтому имя соответствует требованиям. Я хотел иметь возможность разрешать объект по имени или когда он вводится в объекты, активированные этим именем. Для этого мне пришлось дважды связать объект - один раз по имени и один раз для любого предка с таким именем:
Bind(interfaces.ToArray()).To(objectType).InSingletonScope().Named(name);
Bind(interfaces.ToArray()).ToMethod(
ctx => ctx.Kernel.Get(ctx.Request.Service, name)).WhenAnyAncestorNamed(name);
Если кто-нибудь знает более изящное решение, я весь в ушах.