"At-risk" is contextual. Low or very low income students can be at-risk for many things. In an educational context they could be at-risk for school failure, for a whole range of factors related to poverty. So instead of a euphemism, maybe you need to get more specific.
I'm curious why you need a euphemism anyway. Depending on how you plan to use this language, you should approach this with some care. I was a grant writer for many years, and it was important to use up to date, current terminology. If I'd used phrases like poor, needy, etc., it would have shown that I was behind the times.
Maybe what you need is another term for "socioeconomically in need" rather than "at-risk." In that case I'd suggest "living in poverty," "living below the poverty line," "economically disadvantaged," "socioeconomically disadvantaged," "low income," "very low income," or "underprivileged."