אני גם נתקלתי בבעיה הזו פעם.
שעשיתי replace לטקסט שקיבלתי מ innerHTML וזה פשוט לא עבד במקרים מסוימים.
ואפילו גם בחיפוש טקסט בדף

.
אם אני לא טועה זה כי הדפדפנים משנים קצת את הHTML ששמור אצלם בזיכרון.
פיתרון אפשרי זה לשמור עותק של התוכן של הDIV במשתנה JS(לא לקחת את התוכן, פשוט שיהיה מקום שהוא גם נשמר במשתנה)
ועליו לעשות את כל המשחקים, ואחרי כן לעדכן את ה DIV מהמשתנה.