I retested OnGetText in Demo\Basics\DataSet
with adding a handler:
WebClientDataSet1.Fields[0].OnGetText := FieldGetText;
procedure TForm1.FieldGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
Text := '---'+ Sender.AsString+'---';
console.log(Text);
end;
and this works as expected.
In RTL\DataUtils there are several functions for getting UTC offset and use that for conversion.