Plone 4.3.15 locates in /keti with 100s folders containing 4000s files (not dexterity content type).
I get a fresh installed Plone 5.0.7, then copy blobstorage and Data.fs from 4.3.15 to 5.0.7. The following migration seems ok as https://pastebin.com/bZDD8DR5
The error tells you that your xxsx lacks a method getText. To analyse the reason, I would compare the xxsx in your old and in your new instance. Has its class changed? has the existence of getText changed? has the view template changed? etc.
After my first try, in order to resolve the error “ReferenceException: None not referenceable” (https://pastebin.com/MbTWyQrw), I cleared plone4.3.15’s reference catalog in keti/reference_catalog/manage_catalogAdvanced.
How to check class, getText and view template?
100s folders
I like to use an interactive Python session (bin/{instance|client1} debug) for this. It starts an interactive Python session and defines the variable app to reference the Zope root object. You can then use app.unrestrictedTraverse(urlpath) the get the object at urlpath. obj.__class__ gives your the class of an object (if this gives you some kind of Acquisition wrapper, you will need to use obj.aq_base.__class__).
To find the view template, I would access the object and look at the url shown in your browser. Its last path component is the name of the view. I would then search the Plone source tree to find the registration for this name in a *.zcml file (which will reveal the source) and then compare the sources.
Some guessing, maybe the view is the problem, not the content:
It looks like the folder view is : ... /CMFPlone/skins/plone_content/folder_tabular_view.pt
(which it maybe should not be)
Is it possible that you have some views that are customized (in /portal_skin/custom or /portal_view_customization.