Linux has a very stable userspace syscall ABI. About as stable as Windows, and much more stable than MacOS or the BSDs. I agree with everything else though.
Most people don't directly call Linux syscalls though but go through glibc. It might even be unavoidable if you want to ship desktop apps as the library will use it. If it's that easy there wouldn't be Python's manylinux, flatpak base packages or Steam Linux runtime
For user space applications, Win32/Windows is the most stable ABI on Linux, via Wine/Proton.
Not relevant for user space applications written atop glibc/gtk/kde/qt
Yeah, Linux-the-kernel does have a stable ABI indeed, but this is not relevant for most ISV desktop software out there. In my comment above I was referring to Linux-the-OS (aka GNU/Linux). The userspace libs don't have a stable ABI at all, and this is a widely discussed problem. Other operating systems built on top of Linux-the-kernel don't have this problem, Android has a really stable ABI.