Maybe you are supposed to convert the register number to an address. Modbus - Wikipedia says this:
holding register numbers start with 4 and span from 40001 to 49999.
…
For holding registers starting at number 40100, address will be 99.
So I guess this should work:
service: modbus.write_register
data:
address: 150
hub: thames23ss
value: 802
unit: 3
However, I have no experience with Modbus. If you decide to try my example above, you are doing so at your own risk. You could potentially write the value to an incorrect register.