Почему же, мы определяем inject метод в компоненте определяющего наш скоуп. Этот компонент валидирует свои зависимости в compile time и точно знает какие сущьности определены в сигнатуре inject метода и какие поля/сеттеры этих сущьносте проанатированы аннотацие inject. Т.е. вся информация есть, нет неопределенности. В случае с Toothpic она есть. А вот проблема того, что скоуп к моменту использования (т.е. компонент) не готов - нет и это правда, но это уже проблемы логики приложения, а не DI.