That assumes string=UTF8, not string= AnsiString so that is technically not correct. What is correct is the warning, since the compiler can not guarantee potential data loss when converting to true Ansi.
Within the context of Lazarus apps (and provided LazUTF8 is used) it is correct though because that means string = utf8.