There isn't a canonical answer as far as I know. Everything after this sentence is wild speculation on my part.
Vulcans are said by Spock to have copper based hemoglobin, which is a somewhat erroneous claim. Hemoglobin isn't a class of molecule, its a very specific one, which is iron based. Hemoglobin belongs to a class of molecules called respiratory pigments.
There is only one oxygen-carrying blood respiratory pigment I know of that could allow for green blood but red-toned skin, and that's chlorocruorin.
Chlorocruorin is naturally green when under low pressure and red when under high pressure.
This could explain a lot of things. If Vulcans have chlorocruorin in their blood, it would mean that when inside their veins, their blood appears red because of higher blood pressure, allowing the skin to have red tones in it instead of green.
Once their blood is outside their bodies, the pressure drops because there is no heartbeat to keep blood pressure up, so the blood appears green.
The problem with this is chlorocruorin is iron-based, like human blood. But, iron is just the oxygen-carrying atom. Each species that uses chlorocruorin in their blood uses a different arrangement and amount of chlorocruorin, linked together by different proteins unique to each species. Vulcans could easily have copper metalloproteins linking together the chlorocruorin in their blood.
Chlorocruorin is also known as "giant hemoglobin", making Spock's claim of having copper-based hemoglobin technically correct, if the above theory is true.