Short story: I think your wired Ethernet is not what you think it is.
The Raspberry Pi doesn't have a full bus on the GPIO pins. It does have serial ports, power, and some other functions. One of those functions are SPI (Serial Peripheral Interface) pins, which can be used to attach things like USB or Ethernet controllers. I don't know SPI well but it's going to be limited in performance compared to something more directly connected.
First, let's stress testy the Raspberry Pi Zero 2W. I ran these tests using a virtual machine on a pretty large Windows system with the RaspPi has the server. The point of this test is to find the absolute maximum the Raspberry Pi Zero 2W can put out:
Ping time between Windows hosting the virtual DOS machine and Raspberry Pi Zero 2W
- Wifi: average 2.218ms
- Ethernet: average 0.562ms
Given those ping times the maximum data rates from a virtual machine running on the Windows machine to the RaspPi through Netdrive are:
- Wifi: 450KB/sec
- Ethernet: 1779KB/sec
And here are the actual measured speeds for 1MB of reads and writes through NetDrive. (Run a few times and averaged):
- Wifi: Around 420KB/sec
- Ethernet: Around 975KB/sec
The USB Ethernet was connected to the USB port on the Pi using an OTG cable. I actually had it connected through a powered USB hub because the power draw is a lot for a RaspPi Zero. I also had a fan blowing on the RaspPi to ensure it did not thermally throttle itself.
But you can see the wired USB is clearly superior, both in the ping time and the NetDrive throughput.
The 386-40 only has a 10MB ISA Ethernet card. Ping time through the WiFi interface the average ping time is 3.0ms. Ping time to it through the USB Ethernet adapter averages 0.97ms. That is going to limit the speeds to 333KB/sec on WiFi or 1030KB/sec through Ethernet.
Actual speeds:
- Wifi: Around 230KB/sec
- Ethernet: Around 389KB/sec
This machine never reaches the theoretical maximum speeds. It hits 70% of the theoretical speed on WiFi and 38% of the theoretical speed on Ethernet. This is where a faster machine or a better Ethernet card would help.
Some quick back of the envelope math ... your 25Mhz machine is 62.5% of my 40Mhz machine. Assuming Wifi in the path, the Wifi costs 3ms and the DOS machine is adding another 1.35ms of processing time which is why the throughput is at 230KB/sec, not 333KB/sec. Assuming that processing is influenced purely by clock rate your machine probably requires 2ms of processing time per 1KB packet. Your throughput to NetDrive on the WiFi interface should be around 200KB/sec.
If your Ethernet HAT device is doing less than that then you should try the WiFi interface to see if it is faster. Your Ethernet HAT probably suffers from less lost packets than WiFi but I strongly suspect it is dramatically limiting your network performance. Another potential problem is if you are testing on storage that is on a USB stick connected to the HAT.