Show only first child in dropdown

get_term_children() is by purpose recursive, it will always get all children and is not configurable.

get_terms() is more generic function for terms retrieval. Using parent argument for it will only retrieve one level of children (while child_of will retrieve all). See linked documentation in Codex for details.