Approach 3 can actually work with Qualifier (Qualifier annotation in dagger/hilt or Qualifier string in Koin).
Thes are really interesting approaches.
However, I think even if it's a simple UseCase, it's not good to use DI to do the logic. DI is about creating objects and handling dependencies, handling the logic is out of DI's scope. You also lose the consistency because some UseCases define themselves, others are defined by DI.