Okay, after further testing, I figured some things out.
Stouthearted armor bonus to heavy armor does not apply until you equip more than one piece of Heavy Armor. If you simply equip one piece of Heavy Armor, you will get no bonus armor(which was how I was testing it initially).
Once you have equipped more than one piece of Heavy Armor, the Stouthearted bonus begins to apply, but here's where it gets weird. Not only does the bonus not quite add up to 6% armor(it's closer to 5%), but the bonus armor actually varies slightly based on the last piece of heavy armor that you equip!
I could get armor values between 2074 and 2092 armor if I equipped my full set of armor, depending on which armor piece I would equip last(sixth). The lower the armor of the final piece of equipment, the higher the total armor value.
Raw data:
Battlegear Platemail - 508 armor
Battlegear Greaves - 381 armor
Battlegear Helm - 381 armor
Battlegear Boots - 254 armor
Battlegear Gloves - 254 armor
Improved Iron Belt - 208 armor
Theoretical armor total w/o Stouthearted - 1986 armor
Theoretical Stouthearted bonus of 6% bonus to 1986 armor - 2105.16 armor
Stouthearted 3/3, Platemail equipped last - 2074 armor
Stouthearted 3/3, Helm or Greaves equipped last - 2082 armor
Stouthearted 3/3, Gloves or Boots equipped last - 2089 armor
Stouthearted 3/3, Belt equipped last - 2092 armor
At least, Stouthearted isn't as broken as I originally thought, but there's something very strange going on!
Update: Even stranger, when I go and equip a shield, and then unequip it, my armor total is 2105, which is what it should be. I think Stouthearted is simply bugged in that it doesn't properly calculate your first, or last, piece of Heavy Armor.
After further testing, I would consider this to be a low-priority bug fix.
Edited by huhbum, 20 January 2014 - 13:53.