SPI readings always high (1) when connected via bi-directional level shifter
My guess is that the problem is caused by the edges of the outgoing clock getting messed up by the level translator.  That translator is really designed for I2C signals, which have very slow edges.  SPI signals are designed to be driven high and low, while I2C signals are driven low and  pulled high by resistors.  You might be able to get it working by changing the HV side pullups to a lower value.

TI makes the SN74GTL2003  which is  similar to the NMOS level translator you are using, but is designed to work at high speed.  The main difference is that the TI part has several matched MOSFETs and uses one of them that's not used as an I/O to set the gate voltage for all of the MOSFETs.  This sets the maximum voltage that is passed through.  Pull up resistors on the high side then set the maximum voltage on the high side.  This is all explained in the TI documentation.