아이템 / 추가 삭제는 감지하지 못하고 아이템 자체의 데이터만 감시하는 것인가요?
에 대한 직접적인 답은 자동으로 해주지는 않지만 구현에 따라 자동으로 처리할 수도 있습니다.
ViewModel의 데이터 변경을 별도의 명시적인 코드없이(리사이클리뷰의 경우는 바인딩업댑터를 작성해야 합니다.) 하려면 데이터바인딩 라이브러리를 사용하셔야 합니다. 데이터 바인딩은 안드로이드 스튜디어에 기본적으로 플러그인이 들어가 있기 때문에 바로 사용하실 수 있습니다. 사실 이 라이브러리에 대해서는 개발자들 사이에서 찬반이 팽팽히 갈리는 것 같습니다. 저 같은 경우는 아직 프로젝트에 사용하지는 않고 있는데, UI의 요구사항 때문에 도입을 검토 중입니다.
제 생각에는 안드로이드의 MVVM을 익히기 위해서는 먼저 수동으로 ViewModel에서 LiveData를 통해 View에 필요한 데이터를 liveData.value나 liveDtata.postValue(권장되는 함수) View쪽에 전달해 주고 View에서는 이 데이터가 오면 거기에 맞게 View를 업데이트 해주는 코드를 먼저 작성해 보시길 권합니다. 그리고 나서 필요에 따라 데이터 바인딩으로 넘어가시는게 안드로이드 아키텍트 컴포넌를 파악하는데 도움이 된다고 생각합니다.
Github이나 온라인 상에 안드로이드 MVVM + Kotlin 예제는 넘쳐납니다. 간단히 검색해 보시면 원하시는 검색결과를 너무나도 많이 찾을 수 있습니다. 구글의 샘플코드도 검색해 보시구요.