I can confirm this behavior in Delphi 11.1. Try the following code in iOS.
TDialogService.InputQuery('Enter some value', [''], [''],
procedure(const AResult: TModalResult; const AValues: array of string)
begin
case AResult of
mrCancel: ShowMessage('Cancel');
mrOK: ShowMessage('OK');
end;
end);
If you press OK you will get "Cancel".
If you press Cancel you will get "OK".
If you press Return on the keyboard you will get "OK".
The combination of nonsensical return values from the dialog make using it practically impossible.