On Esp8266, the WiFi low level interrupt can be masked for a short period of time; but not long. It depends on how much network traffic you have. Try increasing the pings to 100ms or even 50ms and see if 3 pixels still works correctly.
When you state NMI above, what exactly do you mean exactly. NMI just stands for None Maskable Interrupt.
Bitbang just will never work on Esp8266 without "unsupported" techniques. I talked with Espresif and they stated it will just never work. From one SDK to another they change stuff. It used to work as is for about 3-4 pixels without being in the timer NMI ISR. I guess not anymore.