I'd say Ethnicity is both biological and social, but more so social. An American who writes down "American" as their ancestry is most likely referring to his European ancestors who have been in this country since the 17th and 18th centuries and has no recent European immigrant ancestors from the 19th and 20th centuries, and no cultural bonds with them anymore from their countries of origin. It doesn't mean that person is of mixed race. In other words if the Old Stock Americans did have closer European immigrant bonds and some ancestors alive from the 17th and 18th centuries today, they might write down "English", "German" etc as their ethnicity as they might bond with their old Northwestern Euro ancestors from back then.
I definitely agree that the term "American" Ethnicity, is most often used to designate the term "Old Stock American" meaning (English, Anglo-American, English-American, Colonial English, Mayflower English, Scots-Irish, Old Irish, Irish Protestant, Irish Indentured Servants, Scottish-American, Welsh-American, German-American, French Huguenot, Ulster-Scots, Dutch-American, WASP, Yankee, Amish, Swiss-Mennonite etc.) in other words, anyones Northwestern European ancestors that came to the U.S. before 1776 and before 1820, so basically the 17th and 18th centuries. I'll accept some Irish Protestants that came over during the Famine and more recently as Old Stock or "American" if they identify with the Old Stock culture and faith.
I tend to think of Mulattos, Quintroons, Quadroons, Melungeons, Lumbee Indians, etc. as "New World Mixes in America", "Exotic-Americans" or "New World-Americans", rather than just as "American" for their Ethnicity, but I think the term "American" is best reserved for the European Old Stocks that came to this country before 1776-1820.