The current progress and the totals in the progress bar count all files no matter whether these are changed or not. That is the expected outcome is that the progress bar shows roughly the same values for the current progress (left part) and the totals, so for your photos backup it should show 148GB twice. Unmodified files are just added to the backup progress without any further processing. Files that are regarded as modified but whose content are not actually modified are just reread by restic without uploading any new data to the backup repository. The file names of “modified” files are shown below the status bar, but that should be the only difference in the output for modified vs. unmodified files (the backup summary is also different).
Could you run stat <path to one of the jpeg reported as modified>
twice for the same file? It looks like the iCloud library somehow lets restic think that the picture files were modified. With the right flag for the backup command restic should be able to skip reading unmodified photos.