No. Neither TrueNAS nor ZFS rewrites data automatically. They only re-write data when a problem is found.
Data does not generally “appear correct”, it is or is not correct. That is the purpose of the external to the data block, checksum.
I have several SSDs used with ZFS. For the purposes of this discussion, I will limit it to known problems and what appeared to solve them. Both examples are from hardware purchases about 2014.
A 1TB SATA SSD in my old laptop was giving occasional corruptions to the point of having to perform full restores. Their was a Samsung firmware upgrade, but that did not make the problem go away completely. So I had less trust in the laptop and made a bootable backup on a USB flash drive.
This was in the first few years of use, before I instituted automatic, twice a month ZFS scrubs. After that, nothing ever happened, and it has been over 11 years since I bought that 1TB SSD. (To be clear, it is rarely turned on today, and mostly just gets OS updates every few weeks, with ZFS scrub, as I have a newer laptop.)
My miniature media server has both a 1TB mSATA SSD and a 2TB laptop HDD. It uses 50GB or so from each for Mirrored OS. The rest from each is striped, (aka NO redundancy), because I have good backups.
In the early days I did random ZFS scrubs, perhaps 4 or 6 times a year, but no real schedule. During those scrubs, ZFS would occasionally find a bad block in a video file, (video files are much larger, so statistically that makes sense). Both SSD & HDD experienced failures. I would restore and all would be good again. This happened at least twice a year, perhaps 20 files needed to be restored.
After I instituted automatic twice a month ZFS scrubs, ZERO bad blocks in the non-redundant media pool. That was 7 years ago, (my scrub script keeps a log… so I know the first automatic scrub).
Again to be fair, this miniature PC is fanless, so I added an external USB powered fan blowing across the top. Maybe that added to reliability, but I don’t remember when I added the fan. Perhaps 6 or 7 years ago.
A guess as to why this is happening, is that ZFS scrubs will read failing, but not failed blocks, causing the SSD, (or HDD), to automatically recover & relocate the data. Or possibly in the case of the SSD, re-write the blocks to refresh the SSD memory cells.
Now could re-writing files, (or simply re-syncing ZFS Mirrors), improve the SSD’s performance? Maybe.
As for the Integrity question, in my very, tiny sample size, it appears ZFS scrubs help even without redundancy.