I am not sure now if it is good pattern, but there is one problem with this:
this way your adapter is tied to your ViewModel meaning you can’t reuse it with other ViewModel on another screen. On another hand it is much easier to work without those additional callbacks from recyclerView which makes implementation easier. I guess it is “better” to use callbacks, but “easier” to pass ViewModel (I think CG should deal with it without a problem)