Let me reword my askubuntu answer to the similar question
There's a technical reason why libinput didn't implement it. It's part of FAQ, which in particular has a link to this bugreport. TL;DR of which: kinetic scrolling being implemented in synaptics turned out to be a design mistake. It led to nasty bugs, such as that if you scrolled, and pressed Ctrl before scroll stopped, the app you're scrolling would trigger zoom-in or zoom-out. It's because kinetic scrolling is implemented by continuous sending of scrolling events, and the app have no way to differ real and fake scroll events.
Worse: the proper way to implement that is in GUI toolkits, i.e. GTK+ and Qt (and maybe EFL, though it's little known outside of Enlightement Desktop Environment), but if you have kinetic scrolling in driver + kinetic scrolling in toolkit — you can expect this to end up in mess.
GTK+ have implemented kinetic scrolling, e.g. it works for me in
evince app, version 3.30 for evince, and 3.24 for GTK.
Qt I don't know. I found some blog-post saying that kinetic scrolling was implemented for everything in 2009, but I can't reproduce it in Okular, nor Qutebrowser, nor Kate, so it's definitely untrue.