This is the official rule for a Horsecollar penalty:

"No player shall grab the inside collar of the back or the side of the shoulder pads or jersey, or grab the jersey at the name plate or above, and pull the runner toward the ground. This does not apply to a runner who is in the tackle box or to a quarterback who is in the pocket.

Note: It is not necessary for a player to pull the runner completely to the ground in order for the act to be illegal. If his knees are buckled by the action, it is a foul, even if the runner is not pulled completely to the ground." https://operations.nfl.com/the-rules/nfl-video-rulebook/horse-collar/

If you watch the play, Reddick grabs Allen from the front collar and PULLS him from there, which is completely legal. Then, as he’s pulling him down he grabs the back of Allen’s jersey above the name plate to help drive him to the ground. And I think it’s arguable whether he pulled him from the back of the collar down, leverage wise he’s pushing with that arm to create more force as he brings him down. So that’s why the penalty wasn’t called, the refs probably even have this as an example for whatever training programs they go through which is why they could easily recognize and not call the penalty unlike some fans / fraud announcer or rules analyst.

Allen was out of the pocket so that exception doesn’t apply. Allen claims he threw the ball before he was sacked, so some have claimed that’s why it wasn’t a horse collar. However, as per the note, a player doesn’t need to be fully tackled for the penalty to be called, so that’s a bad reason anyway.

Really absurd that Bills and other fanbases are using this penalty to cope about some kind of favorability the Eagles got. That roughing the passer call was complete BS and almost won Buffalo the game, but nobody considered that the NFL trying to rig the game.