Det er fordi \b
matcher kun, hvis der er et ordtegn på begge sider af det. I dit tilfælde er \b
er omgivet af et mellemrumstegn og en åben/lukket parentes, hvoraf ingen er et "ord"-tegn. Derfor er \b
match mislykkes.
Det kunne du gøre
\\b0aef4666-3627-4c24-8e50-b0cf9a723823\\b
som vil matche \b
for nu er det på en ordgrænse.
Alternativt kan du matche mod et mellemrum ELLER start/end-of-line:
db.test.find({"text": /(^|\s)\(0aef4666-3627-4c24-8e50-b0cf9a723823\)($|\s)/i} )