Issues with collisions

I have a box collider that slides along a surface of smaller box colliders. The smaller colliders are uniform in size (.25), orientation, and are all on the same axis. The distance between their x,y coordinates is equal to their scale. The bigger box, which is four smaller boxes across(1), has an OnCollisionEnter() that adds the smaller boxes to an array, and an OnCollisionExit() which removes the exiting block from that same list. None of them are affected by gravity. The majority of motion is along the x axis.

Everything above works beautifully. I can see the list adding and subtracting blocks, and in various pieces of code have used the list to remove blocks from play without incident.

Now, if I put a stack of four smaller blocks in the way of my big block (again, uniform height and width, now sharing the same X axis with the points on the y axis 1 block apart) I have found that it does not collide with them equally. Generally it will collide with the top and second from the bottom blocks, adding them to the array, before deciding it can no longer proceed and coming to rest.

Is there a way to ensure that the flat surface of the moving big block and the flat surface composed of four blocks all collide prior to any other action taking place?

you can always check unity own channel best getup and go

just click and see