Cuando escribes
viewLifecycleOwner.lifecycleScope.launch { repeatOnLifecycle(Lifecycle.State.STARTED) { // {code to collect from viewModel} } } El repeatOnLifecycle es una extensión en un LifecycleOwner ; aquí, está implícitamente usando this , es decir, el ciclo de vida del fragmento y, lo que es más importante, no el ciclo de vida de la vista del fragmento.
Como se ve en la documentación , debe usar explícitamente viewLifecycleOwner.repeatOnLifecycle , que es exactamente lo que la verificación de Lint le indica que use:
viewLifecycleOwner.lifecycleScope.launch { viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) { // {code to collect from viewModel} } }