It seems like v-bind is not removing attributes with falsy values when another attribute with the .prop modifier appears first in the element's list of attributes. More details in the comments of the fiddle.
2.x (Tested with 2.1.3 and 2.1.4)
v-bind should remove attributes whose values are falsy (false, null, undefined) regardless of the presence of other attributes and the .prop modifier.
Attributes with falsy values are not removed when another attribute with the .prop modifier appears first. Instead, these attributes are rendered with the string "false", "null" or "undefined" as their value.
fix v-bind.prop parse (fix #4432) (#4435)
* reset isProp value
* add test case
* update test case
* fix typo