Can't get more than 1 digit to light up with multiple shift registers

I have a project where I'm lighting up vacuum fluorescent displays. Each tube is a single digit, this is not the multiplexed type of multi-digit tube.

My layout is as follows. Each tube is its own board. Each board has 8 input pins on the left, and 8 output pins on the right, as well as a MIC5891 shift register (essentially the same functionality as the 74HC595 except it is high-voltage capable and latches the output to a secondary voltage instead of the logic supply voltage).

The attached image is representative of two boards. These two boards connect via a jumper board between J1 and J4. You can see that pins 2, 3, 4, 5, 7 and 8 are essentially pass through's to give each board the same logic supply voltage, the same tube voltage, ground, RCLK, and SRCLK (you can ignore the Rin and Rout). But pin 6 is different. The pin 6 input goes to the input line of the shift register (pin 3), and the serial out of the shift register (pin 16) goes to the pin 6 output. This makes the output of a shift register feed into what will be the input of the next shift register. And since RCLK and SRCLK are pass-through's, every shift register should be synced up.

However, no matter what data I shift into the MIC5891, only the first digit will ever light up. I'm not using any exotic code or anything, just the bare minimum shiftout code. I've verified that there is a connection between pin 16 of the shift register and the pin 6 output.

//Pin connected to ST_CP of 74HC595
int latchPin = 8;
//Pin connected to SH_CP of 74HC595
int clockPin = 12;
////Pin connected to DS of 74HC595
int dataPin = 11;

void setup() {
  //set pins to output so you can control the shift register
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);

void loop() {
  // on the LEDs
  digitalWrite(latchPin, LOW);
  // shift out the bits:
  shiftOut(dataPin, clockPin, MSBFIRST, 0b1000000010000000);

  //take the latch pin high so the LEDs will light up:
  digitalWrite(latchPin, HIGH);
  // pause before next value:

The function you are using shifts out a byte of data one bit at a time.

MIC5891 datasheet

Yes, you need two shiftOut() commands, generally:

digitalWrite (latch, LOW);
shiftOut (datapin, clockpin, MSBFIRST, byte1);
shiftOut (datapin, clockpin, MSBFIRST, byte2);
digitalWrite (latch, HIGH);