Just as the above, I'm in no position to lecture you, or give you any good advice, but I'll tell you my own experience.
I just recently just started playing (august last year), and I've had the exact same experience as you. I'd hit my 6-iron and up pretty good (7-iron around 150 meters, 8-iron around 140 and so forth), but when I started with a 3, 4 or 5, I would hit the ground, or top the ball, or just hit a terrible shot if I made contact.
I went to a coach for the first time this week, and she explained to me, that I've had a very steep upright swing, where the shorter clubs were pretty forgiven. To make my swing work, I had made several adjustments to my grip and so forth, to make up for the bad swing.
Now with the adjustments, I'm tying to get a little wider swing, and hopefully that'll get my longer irons straighten out. Do note though, my distance on the shorter irons are terrible at the moment, but hopefully the distance will get back, as I get used to a new swing. :)
Best of luck to you, hope you sort it out!