Are both pictures taken while joining the game through the game page or is the first one from inside studio? The cause might be that the texture hasn’t been approved yet by ROBLOX moderation, thus preventing you from seeing it outside studio.
Hm, I have no clue on why that would happen then. You could of course just seperate the tree leaves from the trunk of the tree and color them seperately. That would solve the issue but I am not sure if you’d want to go that route.
I just checked on PC and mobile to make sure, and this does seem like an odd issue. However, before I rule out anything or suggest possible fixes, we need more info:
This is why - mobile compresses textures more than PC does for performance reasons, meaning that your 2x2 pixel texture is an averaged colour of all the colours put on a single pixel.
Try to avoid textures smaller than 16x16 since compression is a loose cannon (I might expect a very low end PC could also have this issue, not just mobile) and the file size differences at that scale are incredibly small either way.
As I said, 16x16. 8x8 is ok but cutting it close, and again, the differences are negligible.
Honestly in most cases, if I’m making a simple background asset like this where the player isn’t handling or interacting with the object and I just need a flat diffuse texture with no detail, I do as Eurocracy suggested above and export the foliage and trunk of the trees separately, and colour them with BrickColor.
The performance hit of two meshes verses a single mesh and 16x16 texture is also negligible and at that point you’re better spending time with other performance methods.
I always try to allocate the most resources (time, money, game memory limits) to the more important assets. Why spend time to making a texture of four colours when I could just export the minor asset and colour it in Studio?
Edit. Try to make textures at least 32x. 64x is also ideal. Anything less can result in texture bleeding or averaged colours across the whole model.