The eZ Publish documentation and varnish vcl sample specify a default user hash to use for anonymous users.
In varnish, this value is 38015b703d82206ebc01d17a39c727e5, and used when there is no session cookie present in the request headers.
(ref: https://github.com/ezsystems/ezplatform/blob/master/doc/varnish/vcl/varnish4.vcl )
However, eZ Publish responds differently to the X-User-Hash generation request, using the method which is to hash the current user's roles/assignments - which results in a different user hash being generated.
If lazy sessions are used for anonymous the effect in varnish hit ratios is negligible, but may have some impact if anonymous sessions are used.
In any case, for consistency, both methods should return the same hash.