Thanks Chavira. I will explain what I saw.
In the end there was no problem. Its just that there was a interim period where Linux didn't do the board init as expected. Soft resets did not seem to init the GPIOs correctly, only a hard reset (power down then power up) made Linux init the GPIOs correctly.
I changed the uboot "fdtfile" setting to use the new DTB file, then did a soft reset (the board is remote to me, so I couldn't reset it any other way). Then I saw that the GPIOs were available in the gpiod library functions (gpioinfo, gpioset, gpioget). But when I toggled the pins, only Pin 4 was working. Pins 5, 6, 7 did not toggle the pins. I can tell because we have test equipment expecting these pins to toggle.
Then, when my tech was in the lab, he did a hard reset on the board. After this, Linux did init the GPIO pins correctly, and when I retested the pins, all 4 GPIO pins were toggling. No other software changes were made, only the hard reset.
The reason I suspected that maybe ultimately the IOMUX pins were not correctly set by Linux after a soft reset is that, if you recall, originally these 4 pins were set got SPI7 use. Pin 4 was originally set as Chip_Select, so it is already set as a GPIO in the IOMUX. Pins 5, 6, 7 were set for SPI use, so they are not GPIOs.
So after we change the DTB file, we expect the 4 pins to be all GPIOs now. But if the soft reset did not actually change the IOMUX, but the gpiod library thought it did change them, then gpiod would try to toggle them, then only pin 4 would toggle because it is already a GPIO. But the other pins 5, 6, 7 are still SPI pins and would not toggle.
After a hard reset, the IOMUX seemed to be set up correctly, and now gpiod is actually toggling the all 4 pins in hardware, and I can see it on the test equipment.
min-eta