From my experience, Linux support for Lenovo devices is terrible.
ACPI, power management, and UEFI are consistently causing problems. Grub has an issue with the 4K display, causing it to render at about 1 FPS. The dual-GPU (Intel and nVidia) situation is unworkable under Linux. Suspend on lid close is unpredictable. The fingerprint reader has never worked, and the driver for the TPM appears unfinished business under Linux. The battery life under Linux is about half of what you can expect from Windows.
My setup with the AN40 Thunderbolt dock probably makes it worse, the AN40 (even under Windows) is a terrible buggy mess, after about 10 firmware updates it is now somewhat usable under Linux. Resume from stand-by is a gamble each morning. Prepare to reboot and power-cycle often if you want to run this dock under Linux. fwupd does not work for all peripherals (such as the TB dock), so you'll often need Windows to perform firmware updates.
Maybe I could solve some of this stuff if I'd spend some time on it, I don't know. I do know that as long as I run Linux as my daily driver, my next laptop won't be a Lenovo.