Hello,
Your observation is quite worrying if it is true.
I might have a plausible reason for the difference between GEE and SNAP.
In SNAP the scaled geo-physical values are used and not the raw digital numbers. As far as I know you need to scale the values yourself in GEE. Please correct me if I’m wrong.
If the raw values are used, the histogram of the NDVI changes.
You can compare the raw NDVI from SNAP with the result with GEE. Maybe there are more in line.
To compute the raw NDVI I’ve used the following expression:
(B8.raw-B4.raw)/(B8.raw+B4.raw)