Single column join vs multicolumn join
First, your estimates are bad.  I would expect estimates to be harder to calculate on multi-column joins because, as in here, the values may be co-existing in ways they may not.  Additionally the rows on joining may be wider and so you might have work_mem issues too.

Another important area to check is caching.  Try:  

explain (analyse true, buffers true) [query]


The two issues I could see would have to do with planning costs and multiple columns, particularly the question of coexistence of various values across the join, and the memory usage.  Multi-column joins complicate both these areas.