FName is case-sensitive in editor builds, and case-insensitive in non-editor builds.
In case-insensitive situation, FName constructor (from string) performs a ToLower on the string, and then calculates a hash of it. So there is additional hashing overhead. At best, performance would be the same, but I’d expect it to be slightly worse than lowering + comparing strings directly.
FName is more optimized for comparison only when it is already constructed, since it’s gonna compare by hash which has been calculated at construction.