Execution Plan Basics -- Hash Match Confusion
As SQLRockstar's answer quotes


  best for large, unsorted inputs. 


Now, 


from the Users.DisplayName index scan (assumed nonclustered) you get Users.Id (assuming clustered) = unsorted
You are also scanning Posts for OwnerUserId = unsorted


This is 2 unordered inputs.

I'd consider an index on the Posts table on OwnerUserId, including Title. This will add some order on one side of the input to the JOIN + it will be covering index

CREATE INDEX IX_OwnerUserId ON Posts (OwnerUserId) INCLUDE (Title)


You may then find that the Users.DisplayName index won't be used and it will scan the PK instead.