I think one crucial aspect being ignored here is the fact that it’s a school.
In a work environment, if the fire alarm goes off, everyone’s immediately going to get out of the building and go straight to where they need to go. If they aren’t there, then you know they probably couldn’t get out of the building, and the firefighters need to be informed of this. It’s highly efficient and works well.
A school, however, is not a work environment, and is somewhat akin to a prison in the reactions you can expect from the kids. In a prison, the prisoners are carefully tracked and if there’s a fire, they will be gathered by their designated guards immediately. In a school, the kids aren’t carefully tracked at all times.
So a school is probably one of the worst places for a fire to happen. The kids to worry about are the “problem students,” who may, in the case of an actual fire, assume that it’s just a drill and not hurry out of the building and to their assigned destination. These are also the kids who will, if they DO exit the building, take the longest amount of time to go to where they need to go, possibly stopping to chat with their friends.
This is a significant span of time during which the firefighters may need to be informed of the kids’ absence. If you assume the kids are walking around the outside of the building, you may lose precious minutes. If you assume otherwise, then the firefighters are probably going to have to deal with dozens of reports about kids who ARE walking around the outside of the building, possibly mixed in with reports that actually matter.
The “teacher gathers students from current class” method is quickest, but does not account for time periods when kids aren’t in class. The “go to homeroom location” method accounts for all students, but does so very slowly. Technological methods could be superior, but many schools can’t afford technology and often employ teachers who have trouble using it. It’s sort of a lose/lose.