That could be since on bootup some of the D-pins are used for JTAG and hence get pull resistors temporarily attached.
But resetting the display should help undo any impact of that on the display.
Alternatively you could use the A-pins A0~A7 as long you make sure A3 & A6 (DAC) don't exceede 3.3V at any time.
As long you don't use
Serial1 you can even repurpose the RX/TX pins.
And you could try OLED_V1 too.
I've just seen something puzzling in the lib.
I thought the reset pin was active low, but the library keeps pulling it low virtually permanently.
void Adafruit_CharacterOLED::send(uint8_t value, uint8_t mode) may push it high.
I'm not sure whether this is meant to be - unless the
rs pin is not actually meant to be connected to reset but rather to what's commonly called the D/C pin on other displays.
Yup, the class definition features this line
uint8_t _rs_pin; // LOW: command. HIGH: character.
That's some odd naming there D/C would stand for Data/Command but rs is bound to be taken for reset IMHO.
After looking up the DZW datasheet I realised rs stands for register select and there is no reset pin.
On the CW displays there is a D/C pin and a RES/.
So the wiring should be OK as you've got it.
But you could play with the jumper settings shown on page 4 in the datasheet.
I'm not sure if you want 6800-MPU Parallel or 8080-MPU Parallel