What is the way to update images in a configuration git repository when doing gitops?
2) App repo's CI commits into Configuration repo with newly built image tags.


Yes, this makes sense. Instead of using image tags you can use image digest, since the digest is generated from content, it is immutable, while tags may be updated (intentionally or unintentionally).

This manifest update can be done with multiple tools:

Using yq

yq write --inplace  deployment.yaml 'spec.template.spec.containers(name==myappname).image' gcr.io/my-image-repository/myappname:labelOrDigest


Or using a newer tool; kpt with the ktp set command.