ネガティブキャラクタークラスを使用して、それらを含むマッチを除外して、次のことを除外できます。
/\ b(b？：query|mutation) \ b(b(b(b(b(b(b(？：？['"'"]）[\ s \ s]？{[\ s \ s]？}/g

[^\ s \ s]を追加しましたか？除外リストの前に、任意の数の非単語、非白文字（ '"`]）を許可するには、冒とく的な単語のいずれかが長い単語の一部である場合。
...は、挿入する除外された単語の完全なリストを表すための単なる楕円です。
You can use a negative character class with those profane words to exclude matches that contain them:
/\b(?:query|mutation)\b(?:[^\s\S]?['"]?(?:(?:arsehole|ass|asshole|bastard|bitch|...)[^'"]))[\s\S]?{[\s\S]?}/g

I added [^\s\S]? to allow any number of non-word, non-whitespace characters ('"`]) before the exclusion list, in case any of the profane words were part of longer words.
The ... is just an ellipsis to represent the full list of excluded words you would insert.