I just bought also an IdeaPad Flex 5 14", and have the exact same issue. I sucessfully compiled and loaded wacom and wacom_w8001 modules, but it didn't help.
Note that on my system - like yours but unlike some other posts, there has never been any elan* driver loaded.
$ dmesg | grep MSFT
[ 0.607606] i2c_hid i2c-MSFT0001:00: i2c-MSFT0001:00 supply vdd not found, using dummy regulator
[ 0.607617] i2c_hid i2c-MSFT0001:00: i2c-MSFT0001:00 supply vddl not found, using dummy regulator
[ 0.772231] input: MSFT0001:00 04F3:3140 Mouse as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-MSFT0001:00/0018:04F3:3140.0001/input/input5
[ 0.772281] input: MSFT0001:00 04F3:3140 Touchpad as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-MSFT0001:00/0018:04F3:3140.0001/input/input6
[ 0.772317] hid-generic 0018:04F3:3140.0001: input,hidraw0: I2C HID v1.00 Mouse [MSFT0001:00 04F3:3140] on i2c-MSFT0001:00
[ 2.261795] input: MSFT0001:00 04F3:3140 Mouse as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-MSFT0001:00/0018:04F3:3140.0001/input/input8
[ 2.265094] input: MSFT0001:00 04F3:3140 Touchpad as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-MSFT0001:00/0018:04F3:3140.0001/input/input9
[ 2.279085] hid-multitouch 0018:04F3:3140.0001: input,hidraw0: I2C HID v1.00 Mouse [MSFT0001:00 04F3:3140] on i2c-MSFT0001:00
$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 06cb:00be Synaptics, Inc.
Bus 003 Device 002: ID 174f:243f Syntek Integrated Camera
Bus 003 Device 004: ID 8087:0026 Intel Corp.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ uname -r
5.4.0-59-generic
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ MSFT0001:00 04F3:3140 Mouse id=11 [slave pointer (2)]
⎜ ↳ MSFT0001:00 04F3:3140 Touchpad id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Integrated Camera: Integrated C id=10 [slave keyboard (3)]
↳ Ideapad extra buttons id=13 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
Also, output in Xorg log :
89.235] (==) modeset(0): Silken mouse enabled
[ 89.381] (II) config/udev: Adding input device MSFT0001:00 04F3:3140 Touchpad (/dev/input/mouse1)
[ 89.382] (II) config/udev: Adding input device MSFT0001:00 04F3:3140 Mouse (/dev/input/event6)
[ 89.382] (**) MSFT0001:00 04F3:3140 Mouse: Applying InputClass "libinput pointer catchall"
[ 89.382] (II) Using input driver 'libinput' for 'MSFT0001:00 04F3:3140 Mouse'
[ 89.429] (**) MSFT0001:00 04F3:3140 Mouse: always reports core events
[ 89.430] (II) event6 - MSFT0001:00 04F3:3140 Mouse: is tagged by udev as: Mouse Pointingstick
[ 89.431] (II) event6 - MSFT0001:00 04F3:3140 Mouse: device is a pointer
[ 89.431] (II) event6 - MSFT0001:00 04F3:3140 Mouse: device removed
[ 89.431] (II) XINPUT: Adding extended input device "MSFT0001:00 04F3:3140 Mouse" (type: MOUSE, id 12)
[ 89.432] (**) MSFT0001:00 04F3:3140 Mouse: (accel) selected scheme none/0
[ 89.432] (**) MSFT0001:00 04F3:3140 Mouse: (accel) acceleration factor: 2.000
[ 89.432] (**) MSFT0001:00 04F3:3140 Mouse: (accel) acceleration threshold: 4
[ 89.433] (II) event6 - MSFT0001:00 04F3:3140 Mouse: is tagged by udev as: Mouse Pointingstick
[ 89.433] (II) event6 - MSFT0001:00 04F3:3140 Mouse: device is a pointer
[ 89.434] (II) config/udev: Adding input device MSFT0001:00 04F3:3140 Mouse (/dev/input/mouse0)
Like others, touchscreen works perfectly on Windows 10 (dual boot). I would say we don't have a good working driver available - yet ?
Alex