Agreed with @Xiphware that this is one of the important simplifications that makes XLSForms easier for users. I don't see any reason to remove it.
That is correct. There is a proposed change to always use data
as other form converters do but it is a risky change and requires deeper review and testing: https://github.com/XLSForm/pyxform/pull/152. If someone has cycles to participate in that, it would be greatly appreciated.
Some existing discussion of that at https://github.com/opendatakit/collect/issues/298 started by @Enrico_Ferreguti; see particularly this suggestion:
How about a configuration option in the Google Sheets settings such as
[ x ] Include form and group names in column namesBy default, this would be checked and the behavior would be the same as it is now. If unchecked, only the field name would be included in the column headers.
A form with duplicate field names would not be able to be sent to Google Sheets.
Options 2-5 sound good to me. I would even be ok with simply warning in documentation and perhaps in the UI that column names in the output document may not be unique.