I have a theory on why some users may be having this issue, if anyone wants to try and post if there was an improvement please do.
Currently fstrim on btrfs is only trimming the unallocated space, this is apparently a bug but it's been like this for some time, for some users with a large slack on the filesystem this will be a very small area of the SSD leaving all unused but allocated space untrimmed, this can lead to very poor performance, so first check for slack on the filesystem, i.e., the difference between the allocated and used space, on the main page click on cache and look at the "btrfs filesystem show" section, e.g.,:
Label: none uuid: cea535d2-33f9-4cf2-9ff0-0b51826d48a1
Total devices 1 FS bytes used 265.61GiB
devid 1 size 476.94GiB used 427.03GiB path /dev/nvme0n1p1
In this case there's about 161GiB of slack, 476.94GiB is the total device size, 427.03GiB are allocated but only 265.61GiB are in use, since only unallocated space is trimmed, fstrim will only trim 49.9GiB (476.94-427.03) so most free space will remain untrimmed, to fix this run a full balance to reclaim all allocated but unused space, on the console type:
btrfs balance start --full-balance /mnt/cache
This will take some time, in the end it should look like this:
Label: none uuid: cea535d2-33f9-4cf2-9ff0-0b51826d48a1
Total devices 1 FS bytes used 265.68GiB
devid 1 size 476.94GiB used 266.03GiB path /dev/nvme0n1p1
Now slack space is less than 1GiB, so fstrim will work on practically all unused space, trim you pool:
fstrim -v /mnt/cache
And check if performance improves.