As of writing these words, grepping through libinput code shows there's only one assignment to gesture.enabled, in function tp_init_gesture, which is basically "if we can do gestures with that touchpad reliably, let's do them". So libinput doesn't allow to disable them.
Theoretically it should be possible to intercept event before getting to applications with gnome-shell, but there doesn't seem to be any "official" way to do that, so if extensions listed in comments didn't help you, seems you're out of luck here. You can create an RFE for gnome-shell to support that functional
Workaround
As a hacky workaround you can build libinput yourself, and replace the line I referred
tp->gesture.enabled = !tp->semi_mt && tp->num_slots > 1;
with
tp->gesture.enabled = false;
that should disable gestures for you.
I asked on #gnome:gnome.org Matrix channel, and it's worth quoting Alexander Mikhaylenko
The Logitech K400+ likes to automatically zoom when I'm using two finger scroll. It often works fine, but periodically zooms in. A similar keyboard by 1byOne does better about not zooming but it likes to enter mouse cursor movements as swipes.. which takes me to another application or the desktop
they are generated by libinput
I know because I've implemented a few gestures
the hardware's job is to report touch positions
often it does it incorrectly
then libinput tries to fix it for that particular device
every time you see a bug like that, you report it to libinput
because its job is to normalize whatever cr*p the hardware is sending so that libinput users have proper events
in case it's impossible, libinput is also the component that would disable the gestures for that device
e.g. it does that for so-called semi-multitouch touchpads
basically, which send the number of fingers and bounding box instead of old positions, if you have a laptop from <2013 it probably has one unless it's a macbook
So you may want to report problems to libinput.