They really need to learn, at a young age, in their native language before trying in another language. Learning to read in Spanish is actually easier than English (the rules are followed more, instead of changing all the time like in English!). You are right in thinking that his comprehension will rise in an ESL class, and that is more important than just being able to say the words he sees.
So as a former 1st grade teacher turned SAHM, I would say definitely put him in ESL. I have many friends that taught ESL and my MIL used to teach ESL Kinder and 1st and they would say the same thing. He needs to learn the basics in his native language (the language he thinks in) before really learning English.
**I noticed a couple of other mamas mentioned "dual language". As dual language is SUPPOSED to be taught, one day is English, one day is Spanish. The lessons aren't repeated (lessson 1 in English on Monday, lesson 1 in Spanish on Tuesday, lesson 2 in English on Wednesday). Instead, it is one shot: lesson 1 in English on Monday, lesson 2 in Spanish on Tuesday, lesson 3 in English on Wedneday...etc.
In my district, Dual Language was reserved for the VERY high functioning children in both languages. All the English speaking children in the class qualified as "gifted" (the tests for giftedness in Spanish speakers is different) and the Spanish speakers had to be top of their class from all over the district. It is not something that is offered to all Spanish or English speakers. Qualification is high and strict. That may not be an option, especially if his comprehension is low. He would need to be very high functioning to do well in a true dual language program (I saw it modeled at my school, based on the true program, not just "both languages").