How is Twofish flattening the result of Reed-Solomon MDS matrix multiplication into a 32-bit result?
In crypto diffusion layer design the MDS matrix is usually used in the following form:

$$ X_{n+1}=M X_n,$$

where the actual codewords are $(X_n | X_{n+1}).$ So it's a rate $1/2$ MDS code. It need not be Reed Solomon, and optimisations with respect to speed and other considerations are made. This is done in Twofish as well.

In particular $X_n$ is made up of the 4 words that are the outputs of sboxes $(S_0,S_1,S_2,S_3)$ and $X_{n+1}$ is the result of multiplying this vector with the MDS matrix $M$.

See the answer to this question as well.