Something looks very wrong here. The loop join plan has a significantly lower cost than the hash join plan! In fact, the loop join plan has a total cost of 0.0167621 optimizer units. Why would disabling row goals for such a plan cause a decrease in total query cost?
I uploaded the estimated plans here for those who wish to examine them without going through the trouble of creating tables.
It’s a long but worthwhile read.