Can you check in a terminal? If you can see them in the terminal and not in the desktop you're missing a font. If you can't see them in the terminal then you've somehow mangled them. What was the OS and filesystems you copied from?
Redirecting the output of ls to commands such as hexdump or od would allow to notice if the name has international characters or if they were replaced by some placeholder character (which would be represented as a repeated value across the hex dump)
Are the missing ones Arabic, too? If so, there is a "noto sans Arabic" font and other symbol fonts that you'll need to have installed. That's really weird, though. I have Arabic everywhere and I don't have this issue. Did you uninstall any fonts by any chance?
I cannot reproduce it, I just tried to copy some files with various methods but they always end up correctly named. The only difference is that I have Btrfs. I never encountered this issue when I was using ext4 though.
Could be a bug in Nautilus though it's so mature now that would be strange. I'd report it to their repo (don't have the link and I'm on my phone but it should be easy to find).
ext4 supports various filename encodings (simultaneously, even!) but sometimes when you copy a file from one destination to another in a batch with mixed encodings you can end up with situations like this. Especially from within a GUI.
Does the problem occur when you copy each file one by one or only in batch?