I think using Flexbox is the best option for this layout. Using three columns, with two cards in the middle column is the solution I used, which you can see here https://www.frontendmentor.io/solutions/four-card-feature-section-htmlcss-XPWlDidiD.
One thing you might be able to tidy up is to place the image in each card outside the div it is contained within and simply using align-self:flex-end and margin-top:auto. Of course there are many ways to achieve the same result, but overall, I think you took the right approach using Flexbox.