What does "school lunch" mean in American English? Is it ambiguous between a lunch provided by a school and a lunch prepared at home like a bag lunch?
A school lunch can either be:
- a lunch prepared and served in the school cafeteria, or
- a lunch prepared at home and taken to school to be eaten there.
When I hear the term "school lunch," I typically think of the former meaning first. However, as was stated in a comment by @userr2684291, the latter meaning is still valid. (Just because a phrase usually means one thing doesn't mean it never means another.) Here are a couple quotes that use the term in this way:
When I was in the second grade, my mom packed my school lunch every day in a brown paper bag. (Aegina Angeliades, My Skin Don't Fit, 2014)
If you need fresh ideas for making healthy school lunches, leftovers can save the day. (VegKitchen website)
As a footnote, you should remember that any two-word term like "school lunch" may have more than one meaning. Moreover, when you say "in American English," you should know that regionalisms may and often do apply.
Hotdish and a frappe for lunch, anyone?
I'm not American but "school lunch" is a meal, typically in the middle or beginning of the school day, provided to students at school. That's what Wikipedia says.
Your second description "lunch prepared at home like a bag lunch" is actually a "packed lunch" (or bag lunch in North America) - a lunch prepared at home and carried to be eaten somewhere else, such as school, a workplace, or at an outing. As says Wikipedia.
School lunch is the meal eaten at school.
Now here in this sentence it doesn't say anything if the lunch is provided by the school authority or prepared at some other place with the objective of eating it at school.
So the school lunch is the typical lunch that is packed at home to be eaten at school, or provided by the school itself to be eaten at lunch break at the school.
It's estimated that 30.6 million students in the US get their lunches in the school cafeteria versus bringing it from home. (Source).
To add on to the other answers: "School lunch" is ambiguous. It could be provided by the school for the midday meal, or one that you bring with you to eat at school. Without context, you don't know for sure which is meant, or even if there is any relevant difference.
In addition, "school lunch" (commonly "lunchtime") can also be the time period during which students normally eat the midday meal, and then go play or talk or whatever else they are permitted to do during that break time. Example:
Mister Potter. As you have been told, school lunch is for eating or playing with your friends. It is not for drawing magic circles and transforming your fellow students into newts. We are not that kind of school.
Again, context is important to understand which is meant.