Turns out the X bug (about motion events) was in fact bug #380281 in gtk. Basically gtk widgets just won’t work correctly if you use gtk_widget_set_extension_events() on them. Arguably that could be considered acceptable for stock widgets and gtk_widget_set_extension_events() intended only for custom widgets.
Unfortunately we need extension events to work on stock widgets so that we can do different things on thumb press and stylus press. I’ve fixed most relevant issues to our gtk+ but it would be nice to have things fixed upstream. Maintaining a fork is not so much fun.