Имате нужда от позиционно филтрирания оператор тъй като обикновеният позиционен оператор ($) може да се използва само за едно ниво на вложени масиви:
Campaign.updateOne(
{ "_id": "5e28b029a0c8263a8a56980a", "data.targetLink": "https://www.linkedin.com/in/dan-kelsall-7aa0926b/" },
{ $set: { "data.$.actions.$[action].result": 0 } },
{ arrayFilters: [ { "action.name": "Follow" } ] }
)