I have tried the DropDownList using "valuePrimitive" like in one of your demos. But I think there is a little bug which only appears when the "valuePrimitive" is set to "true". You can reproduce this in your example: If you open the dropdown, and then leave it without choosing any of the options it is loosing the selected value.
This only happens after the initial loading of the control. If you first select a value and then open the control again, leaving it, it keeps the value correctly.