MongoDB 3.6 allow to perform complex array manipulations against all matching elements in any array – no matter how deeply nested – Update Nested Arrays with $[identifier]
Try positional all $[] variant.
Something like
db.runCommand({ update: "survey", updates: [ { q: {}, u: { $pull: { "results.$[].items.$[].comments": { "id": "123456" } } } } ] })