In most cases the best place would be the ViewModel, you can obtain your arguments via SavedStateHandle
In case it's more UI centric, can be both Route or Coordinator
For example, if you're passing some localized string just to show it on the screen, there's no need to involve coordinator, extract your argument inside the Route and pass it over to the Screen
Passing some ID to fetch details? Definitely ViewModel - Any business layer related argument better be handled there
The coordinator can handle some event related arguments, like Redirect URI, scroll positions