With the ComboBox if you turn on both allowCustom AND allowObjectBinding and pass in an initial value that's not in dataSource then the value is ignored.
I've modified one of your documentation examples to demonstrate here
What I would have expected is that the control would display my initial value and, if the user doesn't change the value, then retrieving the current value from the control would return the object I passed (i.e. it would display "Squash" and return {Id:'game4', Game: 'Squash'} if I accessed the component value property).
The use case for this is where there are predefined choices, the users can add custom values, the custom values are stored in the database but not added to the predefined choices (so when a user comes to edit a record with a custom value the choices passed in to the component do not contain the value that's been stored on the record).
Note that if "allowObjectBinding" is not set and a custom value (which has to be a string rather than an object of course) then that string value is displayed ok, as demonstrated by another modified example
here.