I think JSX is the biggest mistake and I hate the fact it is permanently baked into React, which really makes this library annoying to use and never my first choice.
I love the example you showed and it actually make things a bit better. Still feels like a bit too much (a few new things to learn), but without working on it now... I would be keen to steer my teams to use this approach instead.
Thanks for a good post!