Navy were selling out to stop the run at all costs with constant heavy blitzes and ND absolutely torched them in the first half because of it. Navy was playing absolutely desperate defense which you would never coach that way unless you knew it was your absolutely only shot to be in the game. If everyone is crashing the line and you have cover 0 the whole game, you throw it. Period. On a run play, you're down a person because the QB is taken out of the play and DP is just not mobile enough to add to those numbers consistently as a runner.
In the second half, ND did a particularly poor job picking up blitzers off the edge (RBs mostly with TE mixed in there too), letting a couple of guys run free (Oline), and Pyne holding the ball too long or not hitting his quick outlet throws.
The offense only ran 18 plays in the second half so those mistakes were magnified significantly. If the RBs make any of those blocks or Drew Pyne hits on any one of those plays, we aren't having this conversation.
It was a perfect storm of miscues combined with a ball control offense on the other side. It doesn't even present a blueprint for other teams to work with because you're statistically more likely to get torched for 35 a half than not.