Help with an Entries field to an array I can use elsewhere
At the same time as you are iterating over your Hero posts, you could populate an array that you could then use in your most popular query.
This is just sudo code but hopefully you get the idea:
{# This would go before your hero loop #}
{# Initiate a heroIds array starting with not #}
{% set heroIds = ['not'] %}

{% for entry in heroEntries %}
    {# Add  heroEntries id to your heroIds array #}
    {% set heroIds = heroIds | merge([entry.id]) %}

    {# the rest of your code... #}
{% endfor %}

{# Then you can use this array in your most popular query #}
{% set entries = craft
    .entries()
    .section('news')
    .limit('4')
    .orderBy('popular')
    .id(heroIds)
    .all() %}