How to deal with moderately armoured and shielded casters?

Background

I am DMing Princes of the Apocalypse for 5e. My past campaigns (mostly 3.5 and 4e) were always quite challenging and tough, my players got quite paranoid, and understandably so.

At level 4, all casters (a warlock and a bard) chose moderately armoured as their feat, and now carry a shield and medium armour for an AC of 19, +4 AC for a single feat. But this means that they are tanks, and the supposed front line melee characters all have a lower or the same AC as the ‘squishy casters’. Lowest AC in the group is 17.

Which is fine by me, but the encounters from the adventure are too easy for them now, as the casters are never really in danger because of their high AC. Unfortunately, most encounters from the book have a majority of physical attackers. The higher miss chance for monsters made fights too safe, and take too long, as the players were understandably hesitant to use limited resources (higher level spells, per-long-rest abilities) when not really in danger.

When we discussed the issue of too easy fights during a break and I suggested that I would ad-hoc beef up the encounters for this session, the player were fine with it. And I did, but now the session is over, I am planning the next one and I would like to know:

How to best deal with moderately armoured casters 5e?

Bad options that I see that I do not want to use:

  • Modify the encounters (more casters, traps vs abilities, etc)

    • Problem: Takes time, especially in a location-based, non-railroad adventure.
  • Simply give +attack to Team Monster

    • Problem: Unfair – they should not be punished for clever choices.
  • Disallow Moderately Armoured

    • Problem: I don’t want to force them to rebuild their characters.

How can I best keep the fights interesting while respecting their character creation choices?