g:gruvbox_contrast_dark and g:gruvbox_contrast_light were evaluated one after another. In order to correctly set the contrast to dark, one would have to define both contrast_dark as true and contrast_light as false; otherwise:
if !exists('g:gruvbox_contrast_light') evaluates to True, and a user who actually has "g:gruvbox_contrast_dark" = 1 set will still end up with medium contrast.
g:gruvbox_contrast_dark and g:gruvbox_contrast_light were evaluated one after another. In order to correctly set the contrast to dark, one would have to define both contrast_dark as true and contrast_light as false; otherwise:
if !exists('g:gruvbox_contrast_light')
evaluates to True, and a user who actually has "g:gruvbox_contrast_dark" = 1 set will still end up with medium contrast.