After some digging you can get the timestamp from getrawtransaction, you just need to pass the additional parameter that sets verbose = 1, for example on the rpc api:
{"method":"getrawtransaction","params":["{{tx-id}}", 1],"id":1,"chain_name":"test-chain"}
This has the added benefit of returning the payload in ascii so no need to decode hex!
Marty