There are a few threads about this, the main one is [TRACKING] Fn key stops working on PopOS after a while - #49 by DHowett. The TLDR is to try blocking the cros_ec_lpcs
kernel module and see if that helps. Also if you’re using ectool
to get fan speeds, try disabling that also.
Correct, it is true that the OS never sees the Fn key at all. It is 100% handled by the keyboard firmware. The other thread has links to the relevant firmware code, where you can see it doing things like choosing whether to report (for example) media/special keys, or F1-F12 keys, depending on the state of the Fn key (and Fn-Lock, which is triggered via Fn-Esc).