Currently I'm using an iPhone X. Apple make it so easy to share photos using "My Photo Stream." But I discovered that Apple significantly reduced the resolution of photos stored in "My Photo Stream." While I didn't test iCloud sharing I expect that the same reduction is true of that as well.
To test this I took a photo with the iPhone X.
I looked at it in the iPhone X's "Recents" and "My Photo Stream." Then I let Google Photos and OneDrive upload it and looked at the pixels, resolution, and size on disk.
There were 2 surprises and one thing I can't explain.
First, "My Photo Scream" pretty well destroyed the photo. It reduced the resolution 50% which consequently reduced the number of pixels by 75%. The size on disk was reduced by almost 95%. This indicates that the JPEG compression was increased significantly creating more JPEG artifacts.
Second, Google Photos didn't resize the photo at all. In the Google Photos app on the iPhone X, I had set "High quality (free unlimited storage)" which in my earlier experiments had "significantly resized, around 40%." I can only speculate that Google has reduced or eliminated their resizing at this image size, i.e. 12.2MP.
The thing I can't explain is why the OneDrive backup doubled the size on disk. I wonder if that is some metadata they've added but that seems like a lot.
These results also make me wonder if now is the time to switch to using Google Photos as the source for my backup process. What I would do is to omit the OneDrive backup and then download photos from Google Photos into my archive process.
One downside is that Google Photos keeps the filename from iOS which tends to create duplicates over time. OneDrive creates unique filenames from the exif data for each photo.
I'll keep an eye on this and let you know if I make a change.