Dagger를 제일 많이 사용하긴 하는데, 새로운 프로젝트라면 Hilt를 선택하시면 됩니다. Hilt가 Dagger의 향상된 버전이라고 보시면 됩니다. Koin도 많이 사용하긴 하는데, Dagger나 Hilt는 안드로이드 공식 라이브러리이고 Koin은 third party입니다.
다만, KMM(Kotlin Multiplatform Mobile)을 하게 되면 Koin은 사용할 수 있지만, Dagger나 Hilt는 안됩니다.
그리고 DI를 할 때 반드시 인터페이스를 써야할 이유는 없습니다. 상황에 맞게 사용하면 됩니다. 다형성이라고 하기는 좀 그렇고 DI는 앱의 의존성을 줄여서 유연하게 만들어 줄 수 있는 패턴이라고 보시면 됩니다.