А я правильно понимаю, что суть MVVM в том, что свойства во вьюмодел можно изменить в любом месте приложения и они автоматически обновятся и отобразятся во вью?
Не совсем. MVVM для того чтобы разделять модели (наши обьекты, данные), вьюшки - дизайн по сути, и вьюмодели - прослойку взаимодействия между вьюшками и данными