You can use conditional bindings:
// dedine dependency as before
this.kernel.Bind<Dependency>().ToSelf().When(r => r.Parameters.OfType<DependencyCreationParameter>().Any()).InDependencyCreatorScope();
this.kernel.Bind<Dependency>().ToSelf().When(r => !r.Parameters.OfType<DependencyCreationParameter>().Any()).InRequestScope();
But usually when you have an event broker based solution you can simply register the created objects with an OnActivation
overload in the event broker which makes it easier then creating complex scopes.