I have stayed at MarBrisa, Pacific Palisades, Carlsbad Inn and a couple nearby hotels. I have rented from Expedia, rented from owners here on TUG, and now we own at Carlsbad Inn.
Obviously, I feel Carlsbad Inn is the best choice for my family. We visit Legoland fairly regularly and we have annual passes. But when we go to Carlsbad I don't want to only do Legoland, so we really like Carlsbad Inn because we can walk to many destinations, go to the beach easily, and then drive to Legoland now and then.
From a purely cost perspective if you don't have annual passes and don't plan to go more than one or two days to Legoland then it might make sense to actually stay at the hotel onsite,
the Legoland Hotel. It's really cool and themed Lego. Your son will probably really love it. And they have some deals that include park tickets so that can probably save you some money.
But if you need a kitchen or can score a good deal then try Pacific Palisades or MarBrisa.
If you plan to visit the park many days you might want to just get an annual pass - check it out on the Legoland website and do the math. It also gives you some discounts inside the park for stuff you buy there. And the annual pass lets you use the water park too - check the
schedule on the Legoland website to see if it is open when you visit.