The CMTS is just acting as a bridge
The way you describe it, its bridge operation is not perfect as there is the limitation of number of modems per VLAN, a normal bridge would not need this. So I assume that each VLAN is translated into a carrier channel but it is just my wild guess and I simply take as a matter of fact that you need to twist the idea of VLANs this odd way.
The modem macs are transparent. The modems are a bridge.
The fact that the PPPoE clients are not the modems themselves but some devices behind them doesn't change anything about the principle of handling the VLAN tagging/untagging. What it does change seriously is the approach to security.
If the modems act as bridges, you may want to prevent the L2 networks at the Ethernet side of the modems from seeing each other. The consequence of joining all the L2 segments (previously VLANs) together after stripping the VLAN IDs, each device behind one modem will be able to see, on L2, all the devices behind the other modems too. So if you attached an IP address from some subnet to the Ethernet interface of one device in one school and an IP address from the same subnet to Ethernet interface of another device in another school, these two devices would be able to talk to each other over IP. This is true also with your current solution using an external switch as tag stripper.
So to prevent this, you can use
the split-horizon functionality of the bridge, which prevents bridge ports with the same value of the
horizon parameter from forwarding traffic to each other. Just add the horizon parameter to the items in
/interface bridge port configuration section:
/interface bridge port
add bridge=bridge-x interface=vlan-1 horizon=1
add bridge=bridge-x interface=vlan-2 horizon=1
add bridge=bridge-x interface=vlan-3 horizon=1
add bridge=bridge-x interface=vlan-4 horizon=1
add bridge=bridge-x interface=vlan-5 horizon=1
add bridge=bridge-x interface=vlan-6 horizon=2