You are incorrect on the immigration issue. You will find that, outside of some rural dems in the South (who had less of a voice in the house than they do now). It was the DEMOCRATS who got the votes of the Irish, Scandanavian, and Southern German immigrants, and, later the eastern and Southern Europeans. The leading restrictionists of the late 19th and early 20th century were in the GOP.
I think too many of my southern friends "project" the Dems in their region onto the national party. You forget the populist wing and the urban, "ethnic" wing in the northeast and upper midwest. The GOP generally gave up on social progressivism (outside of a few folks in New England and the "populist" northern Germans in the midwest), from McKinley onward.
I think that both parties historically have organized around "issues" (slavery, free soil, free coinage of silver, labor unions, etc.) rather than ideology. This was particularly true until the post-WWII era. That is why you have guys like William Borah who went to Moscow to independently recognize the Soviet Union, yet opposed the New Deal, or Tom Watson, who was pro-Soviet, supported nationalization of the banks, yet was also a supporter of white supremacy in the south.
You are right that the parties used to be organized more around a cluster of issues than some reasonably consistent left/right ideological divide. (Arguably they still are.) More business v. populist than anything. But the anti-immigration populist Know-Nothings were basically grafted into the Democrats. So yes, urban ethnics and anti-ethnic populists voted together because they had a common perceived enemy, the urban Establishment. Just like Black Civil Rights activists and Southern Whites both supported the Democrats at one point.