I created a demo based on standard dropdown MVVM demo which shows the behavior. For some reason DropDownList doesn't set it's value binding destination in case data-value-field attribute is not present. If you uncomment my attribute
comment-data-value-field="ProductID"
example works fine.
But it took me a while to figure out what's missing there. I can't understand why I must specify data-value-field even though I set data-value-primitive="false", so data-value-field isn't used in any case. Documentation also says that dataValueField could be absent.