WAR is not a perfect stat, but it still does a very good job of assessing a player's value. IMO, FIP is a better way to assess a pitcher's performance than ERA is, especially when a pitcher has a terrible defense behind him like Porcello did in Detroit. That difference between his FIP and ERA is an indication of just how bad Detroit's defense was. FIP and xFIP are better predictors of future ERA than ERA itself is.
If you don't like fWAR, we can go with bWAR, which uses runs allowed rather than FIP, then adjusts for defense. Porcello's WAR values the past 3 seasons are 1.5, 2.4, and 4.0. The 1.5 is not great, but his value was certainly trending in the right direction.
FTR, Fangraphs also has a WAR stat, called RA9-WAR, based on runs allowed, but I don't believe this stat is adjusted for defense. Porcello's values for the last 3 seasons are 1.0, 2.1, and 3.0. These values are not as good (I believe Porcello is being penalized for Detroit's poor defense), but again his value was trending in the right direction.
One other note about WAR is that is give value for innings pitched, and rightly so.
Any way you look at it, there was no reason to believe that Porcello wouldn't at minimum continue to close to a 3 WAR player.