I figured it out!! And it’s a head slap thing.
I’d been overlooking something obvious. I’d built my new multi-year library starting with my 2020 darktable library and adding my earlier 2016–2019 photos (they all have xml sidecar files from their previous darktable libraries). As part of this, I also then moved all my 2020 photos from an external hard drive onto one of my laptop’s drives. I used the “search filmroll” in darktable to tell it where these photos had moved to.
And then I started using darktable by importing in a backlog of newer photos in my New downloads folder on my computer. It turns out that it was only these newer photos that I was seeing in my 2020 folder on darktable.
The trick is that these newly imported 2020 photos showed up in darktable with a different file path to the older 2020 photos that I’d relocated onto my laptop with “search filmroll”. The newly added photos are all in /Users/jonsullivan/Pictures/Darktable/Photos/2020/… while all of my other 2020 photos were in /Volumes/Morus/Users/jonsullivan/Pictures/Darktable/Photos/2020/… Note that this is exactly the same folder.
Embarrassingly, I’ve got the “Volumes” part of folders view collapsed in the screenshot I posted and I hadn’t noticed until today that it contained my other 2020 photos as well as my photos from earlier years.
Interestingly, if I add some of those older 2020 photos onto darktable again (by dragging a folder on to the darktable icon in the Mac dock), they end up being duplicated in darktable, by being added to /Users/jonsullivan/Pictures/Darktable/Photos/2020/… while also still being present in /Volumes/Morus/Users/jonsullivan/Pictures/Darktable/Photos/2020/… (even though that’s the same place on my drive).
My solution was to add all of my 2020 photos again, dragging them onto darktable, so that they are all together with my more recent photos in /Users/jonsullivan/Pictures/Darktable/Photos/2020/… I then went to /Volumes/Morus/Users/jonsullivan/Pictures/Darktable/Photos/2020/… and selected all the photos and removed them from darktable.
Things are all tidy are functional again.