I sympathize with your predicament. My DS8 is in third grade and currently doing 5th grade math with the 4th grade GT class. It was obvious that he could work a year or two ahead in K and his first grade teacher actually informed me about the option of acceleration. However, I did not pursue it until second grade and he wasn't accelerated until mid-year to the third grade GT class to do 4th grade math. Although it may be hard to get accurate and complete information, you may want to get the complete set of qualifications for accelerating into third grade math. I have to say I was shocked to see the District checklist on the official paperwork a couple of months after the acceleration.
On the one hand, it's great that you already have a history of differentiation for your DS. On the other hand, there is a huge difference between a K doing 1st grade work and a first grader doing 3rd grade work, at least at the schools with "current" expectations. By that I mean there is a huge focus on word problems and providing written explanations to support the solutions.
Based on the information you provided, it sounds like second grade math would be the ideal fit for your DS at this point in time. One of my hesitation with accelerating DS8 in second grader was due to the different math schedules, but his teacher offered to switch the class schedule so that DS would not miss anything. Perhaps you can approach your DS' teacher to see if she would be willing to accomodate your son.
As far as the curriculum compaction aspect, you really should use your school's actual curriculum so that your DS will truly be at the appropriate level if you decide to push for acceleration next semester. I know that some of the online programs can be misleading, especially if they are in the multiple choice format, although they are useful in giving you a rough estimate of your child's superficial understanding of basic math conepts at the test level. Instead of hiring a math tutor, why don't you expose DS to some of the concepts and let him ask you questions and apply it to real life situation (fractions in cooking and counting money/making change with purchases, etc.)