See parent task.
MW puts a limit of max file size of 240 bytes (Enforced in UploadBase::getTitle) this is more restrictive than normal page names.
UploadBase::getTitle also does some additional restrictions. Notably on windows it requires things to be ascii (Is that still needed? Who knows). It also replaces /, \ and : with -
File:Алфавітно-предметний покажчик за 1938 рік до Збірника законів і розпоряджень робітничо-селянського уряду УРСР.pdf was renamed to File:Алфавітно-предметний покажчик за 1938 рік до Збірника постанов і розпоряджень Уряду Української Радянської Соціалістичної Республіки.pdf
The first one is a legal name, the second is not, so clearly something is missing in the code checking this.