The ChainIndexTxOut type has a data field called _ciTxOutValue :: Value and another that is _ciTxOutDatum :: Either DatumHash Datum I'll show you how to get the value. Getting the datum is the same ...
It's a datum hash - so there is no reverse lookup if you don't know how to construct datums for a given contract.
Datum values are usually provided by the consumer of a script UTxO.
Thanks to Sebastien, there is an open issue for this.
Github Feature Request
Besides, one can attach the datum separately to the tx witness set, like so for example:
const datums = PlutusList.new();