The second parameter of the Element.setAttribute() (JS/DOM) is redundant when setting a boolean attribute. So it would probably make sense to make it optional, so that the following calls are equivalent:
“Boolean” attributes are purely a parsing convenience; as far as the DOM is concerned, there’s no such thing - all attributes have values. It seems worthwhile to keep that fact explicit, so people aren’t surprised when they see that an attribute has a value of "".
The fact that standard boolean attributes are directly mapped to boolean properties just proves that boolean attributes are not just about parsing as Tab has stated.
This in no way means that custom attributes like data-foo cannot be used as boolean, but setting a property like dataFoo to true does not set the corresponding data-foo attribute to '' value, as well as setting the property to false does not remove the attribute.
Backward compatibility is an ephemeral thing in general (moreso in a discussion of any new feature by nature), but anyway, the proposed feature can be polyfilled easily and seamlessly as I’ve shown in my starting message.