Portland metro growth doesn't account for most of Oregon's swing.
No, I didn't say that. Almost nothing to do with population growth. But everything to do with the size of Portland's vote and the degree to which it goes Democrat. Perhaps stated more clearly, Democrats are running up much larger margins in the Portland metro area than they did 20 years ago, too much for the rest of the state to make up for.
Look at Multnomah county, the most urban county in the state and the highest raw turnout. It's gone from voting for Clinton in the high 50% range to Obama in the high 70% range.
Same for Lane county, which is dominated by Eugene. Gore won it +11, Obama won it +27 and +23. There are pockets of rural Oregon that went about 5 points more for Obama than Bush, but for the most part, rural Oregon is just as Republican as it was 20 years ago.
And whatever definition you're using for "non-metro" seems likely broken. The next biggest areas of D gains (behind urban Portland) in Oregon are Eugene and the Portland suburbs/exurbs, like Beaverton, Hillsboro, Wilsonville, etc. Since it appears you don't live here, I'll forgive you for not understanding how ridiculous it would be to define Eugene or Hillsboro as non-metro areas.