I say the opposite: Use "string" instead of "ansistring". 90% (a wild guess) of your code is compatible this way. Problems arise when your Delphi code calls API (use UnicodeString in Lazarus), sometimes when you access strings by pointers (use PChar in Delphi, but PWideChar in Lazarus), sometimes when you determine string length (Length() in Delphi, UTF8Length() in Lazarus) or in some other functions where the UTF8-nature of the Lazarus strings comes into play.
I did also *a lot* of professional conversions - really huge projects from Delphi to Delphi unicode - and I stick with my original statement. Why? Every kind of string indexing or database handling (existing databases) is hopeless otherwise. Better to compile those units with the old string type and make use of automatic conversion in its use. (After all, one obviously did not need UTF8)
That goes for both Delphi, Freepascal and especially for Lazarus with its quirky UTF8 hacks.
Moving code that uses any kind of string indexing - including length - is easier between Delphi and FPC is a lot easier than moving code between Delphi and Lazarus because of that.
(Because old code satisfies the UCS2 subset of Unicode16, thatś how Delphi did it in first instance))
The safe way is old code char -> AnsiChar, Old code string -> Ansistring. Old code Pchar ->PAnsiChar. Old code Widestring -> Keep.
That way you know the code still works. That's also the point of the AnsiStrings unit: it is an intermediate resolution introduced for exactly this purpose.
Depending on codepage, conversions to Unicode16 is relatively easier than to UTF8. Just an observation.
Of course you can convert anything, but that is both costly and time consuming. Hence my remark: if the AnsiStrings unit is used, the conversion was never fully done.
But in my opinion that is at least where you should start with any chance of success unless you have a team of programmers dedicated to the task or too much time on hand.
That is to say: in an ideal world you should do the conversion properly, I agree, but that is what I wrote. Your advice is not always necessary, and takes a lot more effort, something that can often hardly be explained or justified in a commercial setting.