We're seeing this on naturally generated villages in our vanilla server.
If that formula is being rounded to the nearest then that explains the difficulty in getting good horses by breeding. For example if 2 14 heart horses are breed, the maximum hearts the foal could ever have would be 14 ((14+14+15)/3=14.33 which would round to 14). So it is impossible to breed a 15 heart horse without already having one to breed from. Similarly getting higher hearts than the horses you started with gets increasingly less likely when you get higher heart horses. I'm assuming it's intentional for it to be more difficult to get the highest hearts of horses, though I hope the impossibility of breeding the best horses without already having one isn't and will be corrected since it eliminates most of the point of breeding to begin with. This pattern presumably also shows up with the other stats, hearts are just the easiest because they're integers.
After breeding several horses for hearts I've gotten new horses with higher stats than both parents, but only in cases where both parents had the same number of hearts. I.e. I've bred two horses with 11 hearts and gotten a foal with 12, but haven't been able to get a foal with 12 hearts by breeding a horse with 10 and one with 11. So I believe at least for hearts (haven't tested speed or jump height yet) it is possible to breed up to a high quality horse from lower quality horses, but you have to get up to having two horses of the same hearts and then advance 1 heart at a time till you get to the maximum.
@Kylie While golden apples can be used to breed horses you can also use wheat, which is substantially easier to get. 12+ stacks of wheat would be a drop in the bucket for a large wheat farm, so I think the bigger issue is the massive amount of time it would take.