But that is probably not the only reason. People of very mixed and probably uncertain admixture of more traditional ethnicities probably check “American” out of sheer convenience.
Moreover Pakistani ethnic identity says hi. If disliking Hindus is enough to make a new ethnicity there... many ethnicities formed out of opposition to others and moreover Anglo as an ethnicity that at one point did not exist.
Ethnicities are absolutely social constructs, and while many evolve “naturally” others are deliberately constructed. They split, merge, are created and destroyed.
Most people do not recognize “American” as a separate ethnicity now, sure. But that does not mean it never will be recognized as one. This is how ethnicities begin. They are created.
After all Anglo-Americans and Ethnic English are already clearly different as identities. And besides there are probably people of limited English descent that check “American”. Very possibly some people who are not even “white” do.
An “American” ethnicity, if one evolves more and is recognized by more people will not necessarily be one based on being “white”, as after all there a white Arabs, white Arabs and a lot in between.