Read only pages (most of libraries and binaries) get “paged out” to the file they came from, not swap.
(They obviously don’t page out, they are just discarded and read again when needed)
(They obviously don’t page out, they are just discarded and read again when needed)
But while I don't have any hard data, I imagine that depending on the workload, there can be a punch of pages that are read during initialization, or a one-off workload, and never being read or freed up afterwards.
Just try activating a swap file, and see if it gets any usage, despite memory pressure being low.