What exactly about full drives slows performance so much? I understand that on, say, a hard drive, seek time could increase the fuller the drive gets, but what about an SSD?
Systems have many layers of memory.
L1-L4 cache is possible. Some CPUs have onboard DRAM cache. Then there is system memory. Then virtual memory on the hosts permanent storage device.
That last one can be any drive type. SSD, SSHD, Optane + HDD, Hard drive, other types of flash like compact flash or an SD card.
Operating systems prioritize what needs to go where in order of how often it is needed. More recent versions of Windows actively avoid using virtual memory and will instead consume more system memory if it is available. When you run out, active memory is then stored on the local drive. So any retrieval is limited to the speed of the drive and its connection.
A full drive is likely be very fragmented with no space for cleanup/defrag which would have poor seek times for files. The inability to load all required code into memory means that the CPU has to waste cycles unloading, and loading things constantly.
Even full SSDs are not immune to this. They have limited performance because SLC cache is no longer an option and all TRIM functions have limited or no space to operate in. So if the system memory is full and the SSD is full your system will crawl to a halt as it has to unload and load things from the drive to function.