I would be very surprised if that would be the case. Your sample document DOES NOT have a field named SR_NOTES. So you either redacted the query or the sample document. In this case, we really cannot help you because we have no way to know what part of the information you share is correct and which one is wrongly redacted.
when I try to update the main collection, embedded documents behaves like it is getting inserted createdAt is always be same as updatedAt. but for me, createdAt should not get chnaged when we update the embedded document
what you actually asking is to replace the given array element with the object obj. So what ever fields and values the object obj has will end up stored in the document. You may use the dot notation to set the individuals fields you what. If $mergeObjects can be used in this context (something worth testing) then it would be less cumbersome than the dot notation.