It's half and half from what I'm reading. It checks a local list for the sha-256 hash or partial hash. Then, if found, it phones home with the partial hash it found.
If you don't want to read [0], I think the Golang parser/lookup at [1] is a reasonable interpretation of what they're doing, but not sure. You can see there that the hashes generated are of different-host-combinations + different-URL-path-combinations. They do the partial hash check in a DB (local, downloaded periodically). If there's a partial hash in the DB, they phone home w/ that partial hash for the full hashes and check if it matches.
So Google gets the partial hash of a URL it had told you could be bad. They return the full hashes for that partial hash. We can hope (and see) that the partial hashes do not match a broad set (and they are host possibility + URL path combo possibility). Surely Google has something that maps the hashes to actual URL patterns, but like the other commenter said, the partial hash you send is only sent when it matches a local DB already.
0 - https://cs.chromium.org/chromium/src/components/safe_browsin...
1 - https://github.com/google/safebrowsing/