Casting the controversy of "Whether you should ask" aside... to simply answer the question of how/where to position the question of ethnicity so that it does not remain unanswered:
- Having it on the sign-up page is definitely effective: there's no guarantee that every user will revisit his/her profile and refine.
- This means that a drop-down will be more effective against a free-entry field, especially since this is a mobile app.
A great place to look for references on what to include in the drop-down would be online job application forms, or to be more specific, online job forms hosted by large corporations/global companies. Smaller firms/start-ups do not place as big an emphasis on employee background in the early stage of screening process, while big companies do this for both research and legal reasons.
There is typically a section towards the end of the job application form asking for background info of an applicant, where ethnicity is in the form of a drop-down. Of course,This field is often marked as optional and offers a detailed explanation beforehand on your appwhy the question is being asked, the drop-down of Ethnicity will be a required field insteadapplicant is not obligated to answer, etc.
The Ethnicity drop-down on job applications is an ideal reference point as it is made to be short and precise, with no more than 5-6 choices (which still cover the key ethnic groups), and does not extend the sign-up process of your app to be noticeably longer.