Смотрите.
Если хеш закодирован в URLEncode, то передастся.
Если он отдельно, чистый, не закодированный, то останется на прошлой странице.
То есть:
http://example.org/login?next=profile#asdfg
Только на login и всё.
http://example.org/login?next=profile%23asdfg
Только на profile и всё.
http://example.org/login?next=profile%23asdfg#asdfg
и там, и там.