The UVW texture is procedural texture. The preview you see in the asset editor is just color representation of a UV space [0,1], [0,1], but it is all false color, because it is generalized preview. You put a real color data via the gradient component, which obviously lacks a green color. How it works ? First grasshopper assings a color to each mesh vertex, based on the gradient and the object mapping. Then V-Ray converts the vertex color data into a regular UV map channel, just like you’ve assigned a planar or box mapping. V-Ray cannot render vertex color data directly. It needs a material (shader). Then, you create a material with a UVW texture for the diffuse slot. That texture simply interprets the UV data for that mesh directly as color. The crucial moment here is thd mapping channel. You have to specify the channel where the vertex color UV data is. That is channel 2 (hardcoded).That changed to channel 0 in version 4.
I agree that is very complex workflow, but that is simply how shader graphs work. If you had to make ghat in 3ds Max it would have look like very similar, but a bit more visual. So… In 4.20 we introdused the Bitmap texture component. It has a “mode” parameter, that can be set to Vertex Color. It does thd very same job behind the scenes, but much easier to set up. The whole setup now happens in GH. Assign vertex colors the mesh, put the mesh in a VGeo, put a simple material in the VGeo, put a Bitmap texture in the material’s diffuse parameter and select Vertex Color mode for that texture.