It was a hold.
The timing in the route where the hold took place combined with the lack of coverage behind the db likely meaning JuJu walks in just made it that more obvious and impactful to the referee. I’d bet if Mahomes hadn’t thrown his way, it would have been let go.
Unless this was a non-call or call as obvious as the Saints Vikings a few years ago, Eagles have nothing to complain about. There were multiple things that led to their loss… like the fact they blew a coverage on the same play, twice and hurts was running for his life the second half. Shockingly, the Philly radio stations today even admitted as much.