The fact that the estimates diverge so far from reality can no doubt be blamed on the horridly bad rowcount estimates: 3 rows estimated vs 179 actual for table_one, and 128592 estimated vs 4202 actual for table_two. Have you ANALYZEd these tables lately?
Nope. Doing that caused the first operation to respond very quickly. (And the second as well, of course.)