I gather from your list of specs that each machine was/is running its own db server. Are you sure that the relevant schemas have been set up the same way? E.g. is it possible that some "create index..." operations might have been done on the old mysql tables, but might not have been done yet (or might be different in some way) on the new MariaDB tables?
(Have you done a comparison test of old machine mysql vs. new machine MariaDB using the "native" query utilities -- i.e. not via DBI?)
I don't know what to say about the dBase file performance differences; if you've done the same benchmarks on the old and new machines, and the difference in run time is comparable to the difference in percentage spent in IO::Handle::CORE::read, then I would guess that the new system is somehow "not playing nice" with dBase data (or vice-versa) -- something like disk block size (i.e. how much data is physically fetched from the media on a single minimal read) could slow things down under some circumstances if it varies in some silly way from the previous setup.