YouTube and Vimeo encoders make my work look pixelated (even at HD 1080)

It’s an age old issue, those (free) platforms will re-encode all your uploads to bitrates as low as possible to save bandwidth.
You can also check previous discussion here:

Also see compression guidelines from Vimeo here:
https://vimeo.com/help/compression