By default, Vault creates an internal group.
When you create an internal group, you specify the group members, so you don't specify any group alias.
Group aliases are mapping between Vault and external identity providers (e.g. LDAP, GitHub, etc.).
Therefore, you define group aliases only when you create external groups.
For internal groups, you have member_entity_ids and/or member_group_ids instead.
vault write -format=json identity/group name="engineers" \
policies="team-eng" \
member_entity_ids=$(cat entity_id.txt) \
metadata=team="Engineering" \
metadata=region="North America" \
| jq -r ".data.id" > group_id.txt