FYI there are two drivers that can be loaded for the lid sensor, and one of them is “wrong.” In a default configuration, at least on Arch, the order on boot is de facto random. Anyhow, the way I “fixed” it was by adding pinctrl_tigerlake to my /etc/mkinitcpio.conf’s MODULES section and rebuilding initrd. This ensures the module is installed very early on, and nothing “claims” the devices it would have.
This isn’t a problem on some other distributions, because their kernels have the tigerlake driver compiled into the kernel. Also arguably the better solution is to blacklist the “wrong” module, but honestly I don’t even remember what it was.