I’m sorry, but it actually is. And not only a good decision, but the only viable decision at this point.
Syncthing’s first priority is (and was as long as I remember) not to lose any user data unexpectedly. Losing user data is absolutely the worst, and trumps any other concern such as performance, usability, etc. — says so in the Project’s Goals.
If (or, hopefully, when) we finally implement case-insensitive behaviour, we only have two options: have in enabled by default or have it disabled by default. So there are six possible user stories:
1a: Insensitive by default, user only has sensitive filesystems. This is inconvenient; Syncthing will not lose data, but may not sync some of it, and needs to be told to be sensitive. Bad, but not critical.
1b: Insensitive by default, user only has insensitive systems. Everything just works.
1c: Insensitice by default, user has a mix of systems. Some of the data may not start syncing right away and require user interaction, but nothing is lost unexpectedly. Not really inconvenient, because what else would you do.
2a: Sensitive by default, sensitive filesystems. Just works (the way it does now).
2b: Sensitive by default, insensitive filesystems. Works (the way it does now).
2c: Sensitive by default, mix of systems. Data loss is guaranteed, the way it is now. Very bad, should be avoided at any cost.
See? Having case-sensitive behaviour by default is basically incompatible with topmost priority project goal.