I just read your SWH, which brings up some questions for me.
When say he is struggling in school, do you mean he is not learning/ having a hard time grasping new material, or just that he is near the bottom of his class?
To me (as a teacher and as a parent) the comparison BETWEEN kids is less important than the growth with EACH kid. For example, many people would say my son is excelling in kindergarten because he's easily at the top of his class academically. HOWEVER, he probably hasn't made more than a year of progress this year, he just came in already knowing a lot. He may have actually made LESS progress than some of his classmates, so I wouldn't say he's excelling even though he's well above grade level.
If your son is making good progress, enjoying school, and learning every day, I'd leave him where he is. However, if he's actually struggling... like finding it hard to learn new things, or not enjoying school, it's time to consider something else.
I'm not sure I think the online programs are GREAT for young kids, but if YOU have the time an inclination to guide him and teach him through the online program, it might be worth a try.
You can probably give it a try this summer when he's out of school. If it feels right, continue in the fall. If not, send him back to school but he'll have had the summer to catch up.
HTH
T.