これでいける。
やっていることとしては String は rune の配列であることを利用し、rune 配列とひっくり返した rune 配列同士の等価チェックをしているだけ。
import 'dart:io'; void main() { stdout.write("input sentence: "); String s = stdin.readLineSync()!; print(s.runes.join() == s.runes.toList().reversed.join()); }