That's correct. It would certainly be reasonable to have type="hidden" be automatically bound as well, except that there's no natural "value changed" event for them (that I know of).
You know, it might actually work to just have an input type="text" that happens to be hidden (e.g. style="display:none"). If a change event doesn't fire when you programmatically set the value, you can fire the event yourself using $(el).trigger('change'). Do this as soon as you set the value, there's no need to wait until submit is pressed.