Can you please tell me what I'm doing wrong here, please help
In the wiring diagram it's the other way around.
The reason being that the registers appear to be specified in decimal, NOT hexadecimal. And you need to ask for 4 bytes instead of 2.
Wrong, the readHoldingRegisters() method takes the number of registers to read, not the number of bytes.