Well, this map is definitely not explaining much, especially since the switches are drawn kinda like routers. Also, why is the DMZ drawn as a server, beats me.
But leaving that aside, with the main server in one place and each campus having a server, you are more describing some kind of reverse-proxy as opposed to the distributed system I would be thinking of. Again, I have no idea about the server architecture of the software you plan to use or if it even supports a distributed model.
But even with a central server and a couple of reverse-proxies in each campus, it should serve as a decent architecture and not overcomplicate the setup. And if the main site can be cached (which the reverse-proxies should be able to do), then all the better.
But for 2500 people, I would have a AAA server somewhere (Samba OpenLDAP, or if it’s already in place in the school, Active Directory) and have an AD DC (Active Directory Domain Controller) in each campus. Technically speaking, a single server should be able to handle most of the tasks, if separated as VMs or containers. For redundancy of the server itself, you could use something like OS clustering like corosync + pacemaker and if a campus server just goes out, redirect the server to one of the other campuses, or the central server. Might make the experience a bit slower, but better than just having an entire campus idling.
I also tend to do that, but as long as you have a decent upgrade plan, it should not be a problem. You could make an update script which just runs the typical package manager update commands and execute it to all servers, no matter the distro, using pssh. Of course, if you use Ansible, that task is already basically done, you just need to learn ansible (which is not terribly hard, just different).
In the previous environment I managed, I used CentOS and Oracle Linux (and some Scientific Linux here and there). Most of the servers weren’t set up by me, but they were there already. Since they were mostly RHEL based, we continued with CentOS. We had versions from 5 to 7 and I started doing some 8 (before RHEL killed CentOS 8 in favor of Stream). But I did have 2 or 3 Ubuntu VMs, running things like OCS Inventory, that was much easier to set up as such. And we had some very old Ubuntu routers that we just kept on using until somewhat recently when my ex-colleagues got the budget to upgrade.
With a decent upgrade plan, I would not shy away from using different distros and even different OS (like say FreeBSD for NASes).
My current homelab has a FreeBSD NAS and Void Linux servers (I would not recommend using Void in production and even at home, unless you know what you are doing, just use popular distros with many users, like Rocky Linux, Fedora or Debian). I am planning for an OpenBSD router once drivers are available for my USB WiFi card (or I just get internet another way and get rid of the dongle, my router currently runs Void too, my previous router used to be a RPi 3 running Alpine, which was only used because it was running diskless and saving my SD card, but this router has eMMC now, so I don’t care anymore).
I’m not sure if this forum is the best place to ask these questions. Well, in all honesty, without knowing the inner workings of the software you plan to use, I cannot really say how to implement all these stuff.
I cannot find much information about DebianEdu, it looks like a distro with software preinstalled. As for LinuxSchools, it looks like a suite of software bundles, like Samba and Samba AD DC (basically emulating Windows AD), email (dovecot and probably postfix), Moodle (for e-learning, I think this is the software you may actually need out of everything provided), DHCP, OwnCloud (file sharing), Joomla (website, eeww, but I guess should be normie-friendly, kinda like a slightly-better wordpress and not as insecure), nginx, glusterfs and a few other niceties.
An experienced linux admin can set up most of these and automate their updates and maintain these pretty easily, but not sure about the end-users (students) and the platform-admins (people who are supposed to add kids in the system, give access and so on).
Giving a read, I do not know exactly what the architecture of LinuxSchools is, but I can confidently say, you should not run this thing in different locations. You need to run them in a single datacenter / server room. You can have some localized access, like the aforementioned reverse-proxies (if Moodle can be cached) and AD DCs, but most of the heavy duty will be pulled by a few servers in a data room, following a somewhat centralized system.