(no, haven't done any profiling)
Well, there's your problem right there.
If a fronting hash would make a difference, you're talking about something that's pretty far into the realm of micro-optimizations. And you should never bother with micro-optimizations unless you've profiled first to see that there's a benefit to be gained by micro-optimizing.
In this particular case, my intuition is that the cost of doing the preliminary hash lookup will be slower than walking the linked list in the bucket where a collision happened anyhow, so, if your idea had any noticeable effect, I suspect it would probably be to make things slower (and more memory-intensive) rather than faster.
But, again, profile before spending any more time contemplating it. 100,000 hash lookups probably take less time than you'll spend reading this sentence, even if they are lookups into a 3GB hash. Even if you could magically optimize that down to zero time, it won't noticeably impact the overall program's performance.