Rows
A row module is a chest surrounded by planks. Each one adds nine slots to the crate holding it, and the cell under the capacity one takes sixteen.
They add up
Rows are read from every cell and added together, the opposite of capacity modules where only the strongest offer counts. A cell another mod put there and filled with row modules extends the crate further, rather than replacing what the first one gave.
A copper crate starts at 27 slots and reaches 171 with sixteen modules. An echo crate starts at 72 and reaches 216. Put another way, a well-equipped copper crate ends up bigger than a bare echo one.
Why the screen reopens
A menu's slot list is fixed once it has been built, and nothing in the game knows how to add to a screen already open. Putting a module in or taking one back therefore closes the screen and reopens it at the size wanted.
That happens at the start of the next tick, not inside the click. Without the delay, whatever the player was carrying at the moment of the click would end up on the floor.
On a pair
Both halves grow by the same number of rows, one module giving one row on each side, since the two are shown as a single screen. An echo pair therefore goes from 144 slots to 432.
Taking a module back
Same rule as capacity: whatever sat in the rows that are gone drops at the crate's feet. A crate is only cut back once the last screen on it closes, because shrinking it under someone else's open screen would leave their menu holding slots the crate no longer has.
The setting that caps them
How many modules a cell accepts is a setting, rowModuleStackLimit, sixteen by
default. Lowering it never shrinks a crate already placed: the rows come from the stack that is
actually there, and only a new insertion is refused.