I'm not saying, that there is something wrong with the generation of the markup per se.
For me it is just a logic error. If I specify an item should span over 2 columns, the layout should manage that exactly this is done. In this case it spans only 1 column visibly.
You pointed out, that behind the scenes the DOM-Node correctly spans 2 columns (the second and the third), but in fact there is no third column by definition. The Layout should not add more columns than specified (besides the case when colspan is higher than the column count).
If I specified 3 columns, the arrangement would at least in this case be correct (except for some differences in the sizing of the items).