Ok, this was me asking before I signed up!
It turned out to be the .nomedia file in the root of the storage folder (/storage/sdcard0) I thought I'd already looked for this, but obviously not hard enough. Deleting and rebooting fixed it. Still not sure which app created the file yet, but...