I am posting this here because it took me forever to find this and it may help someone. Firebase docs are very hard to research and they do not explain this thoroughly.
If you want to update only specific fields in a Firestore document without overwriting all the children keys you have to include the fieldPaths in the url of the API call. If you don’t, it will treat it like a regular post request and delete the keys not included in the body of your request. Use patch. This stack overflow question and answer explains it well.