I'm 21 years old (I'll be 22 in a month though

) and I've had my period since I was about 13 years old. In the entire 8 years of having my period, I have never gotten it late or early (Not more than a day.. sometimes I get it in 27 days, sometimes in 29.. but almost always in 28).
But last month, I got my period 7 days late. It was horrible. For half of that week, I felt like I was right on verge of getting my period (PMS, lower back pain, cramps, fatigue, bloated). When I finally got it, it was the heaviest period I've ever had. And now this month, I should have gotten my period last Sunday (It's now Tuesday) so it's 9 days late! And now I have this pain right in my lower back, and I just feel bleaaah.
I had my first gynecology appointment two months ago. My pap smear was normal. Breast exam normal. The only thing that was wrong was my hormone's and my thyroid. I don't remember the numbers, but I know that I was told my thyroid was very very under active. I'm supposed to see an endocrinologist in August... so I guess I'll know then.
But, I'm wondering if that has something to do with this problem? I've read that it can be stress-induced.. I'm not under anymore stress than I usually am lately heh. Or from medications, but I've been taking the same medications for years now. I have been gaining weight, but that's been for the past year now.. and also may have to do with my thyroid being under active, since I eat a good diet and watch my fat and calorie intake.
This is just so strange... Until last month, my period was always right on schedule! Instead of feeling awful for the normal 6-7 days of getting my period on time, I feel awful for like 12 days. Any thoughts?