I had some problems similar to this a while ago. It seemed that my libraries were seriously out of sync. In my case, four libraries were involved - my Mac, my iPad, my iPhone and iCloud itself.
As it turned out, part of the problem was that my iPhone was set to keep all photos so it was continuously downloading the images from the cloud. This activity, in turn, seemed to bog down the whole sync process across my other devices. I’m wondering if this might be the case for your iPad. Once I corrected this, things settled down after a while and the images started syncing as expected.
So, my recommendation is to review your iCloud Photo settings on all devices to ensure they’re set to your preference. I’ve got my mobile devices - iPhone and iPad - set to optimize storage while my Mac is set to keep the full library since it has the space and along with the iCloud copy serves as part of a two copy set of all of my photos. If something goes wrong with my Mac, I’ve got iCloud; if iCloud goes offline, I’ve got my Mac.
I actually also have this all backed up to Time Machine and Crashplan as well, so lots of backups but what I do is probably overkill for most.
I have also encountered problems with broken images in Photos after older libraries were upgraded. Some were linked files outside of the library that had moved. I had no choice but to delete and re-import those as my attempts to match the files through Photos just wouldn’t work. No big deal, just delete and drag the folders back in.
But some were stored in the library and I had no idea why they lacked thumbnails. I also couldn’t open them in Photos or online in iCloud. Referencing the metadata, I found the files which I also had kept on one of my drives but I don’t know how they got corrupted. It was a small number of files and I ended up re-importing them as with the other issue. There are ways to look inside of a Photo Library directly by viewing the package contents of the library file but you don’t want to mess around in there to much as you could break things. I would use this as a last resort had I not had the files stored elsewhere that I could re-import.