I2C Master missing signals

Hello. I'm working on an extensive I2C project. It was working fine for a little bit but I encountered a problem.

My scope for this project is to have a Master Arduino Mega and 9 Slave Arduino Megas. The master will be user input (via keypad) and will send 4 bytes of information to 6 of the slaves. Those slaves will then send 6 sets of 5 bytes of information each, where the Master will relay to the remaining 3 slaves for monitoring.

I've been working on optimizing this code all week, but I've encountered an annoying bug that I can't seem to work out.

I have a rough test set up for troubleshooting that consists of 3 Megas, one for the input (Master), one for the information relay, and one for the monitoring. The information relay one is working correctly, receiving and sending accurate data. The problem is, the Master is receiving the very last byte sent and then 4 bytes of values of 255. The Serial.print information displayed is similar to 3255255255255. So its missing the first four bytes of information.

Here is my Master Code:

#include <Wire.h>

int outbytes[4] = {1, 2, 3, 0};
int inbytes[5];
void setup()
{
  Wire.begin();
  
  Serial.begin(9600);
  
  
}

void loop()
{
  Wire.requestFrom(11,5);
  while(Wire.available())
  {
    inbytes[0] = Wire.read();
    inbytes[1] = Wire.read();
    inbytes[2] = Wire.read();
    inbytes[3] = Wire.read();
    inbytes[4] = Wire.read();
  }
  
  Serial.print(inbytes[0]);
  Serial.print(inbytes[1]);
  Serial.print(inbytes[2]);
  Serial.print(inbytes[3]);
  Serial.println(inbytes[4]);
  
  delay(500);
  
  Wire.beginTransmission(11);
  Wire.write(outbytes[0]);
  Wire.write(outbytes[1]);
  Wire.write(outbytes[2]);
  Wire.write(outbytes[3]);
  Wire.endTransmission();
  
  Serial.println("Sent");
  
  delay(500);
}

and Slave:

#include <Wire.h>

const int Pot1Pin = 0;
int Pot1;
int k = 1;
int outbytes[5];
int inbytes[4];

void setup()
{
  Serial.begin(9600);
  
  Wire.begin(11);
  Wire.onRequest(requested);
  Wire.onReceive(received);
}

void loop()
{
  Pot1 = analogRead(0);
  outbytes[0] = k;
  outbytes[1] = 0;
  outbytes[2] = Pot1/100;
  outbytes[3] = (Pot1/10)%10;
  outbytes[4] = Pot1%10;
}

void requested()
{
  Wire.write(outbytes[0]);
  Wire.write(outbytes[1]);
  Wire.write(outbytes[2]);
  Wire.write(outbytes[3]);
  Wire.write(outbytes[4]);
  
  
  Serial.println("Sent");
}

void received(int howMany)
{
  inbytes[0] = Wire.read();
  inbytes[1] = Wire.read();
  inbytes[2] = Wire.read();
  inbytes[3] = Wire.read();
  
  Serial.print(inbytes[0]);
  Serial.print(inbytes[1]);
  Serial.print(inbytes[2]);
  Serial.println(inbytes[3]);
}

The code above is just for testing purposes. I don't see anything wrong with my code and it compiles fine. I thought it might have something to do with the library (as I have modified it in the past), so I reverted it to the original code, but I've still been met with this issue. Is there something wrong with the timing??

Any advice would be greatly appreciated.

Thank you.