From memory, the diagnostic registers i.e. 0x04 - 0x0F are readable directly. You don't need to read the index via 0xD9.
Note that the first read is valid with these special registers.
The ILI9488_RDID1-3 values are all 00h. Is that OK? And is it OK that the ILI9488_RDSELFDIAG (0x0F) is 00?
Looks ok. ID1-3 reflect whatever is stored in reg(0x04). And these registers are directly readable. (you must check with the datasheet)
I am always horrified by people that have 5V Nanos.
They buy the cheapie hardware and then can't afford resistors or level shifter chips.
And it is a lot more fiddly with external logic hardware than regular 3.3V Arduinos.
Please post a schematic of your wiring. Or a photo of the real-life wires.
David.