When doing speed tests, also look at the routers display graph of real-time usage (current bandwidth). Its a check on the speed testing websites. And take a screen shot of the current bandwidth graph.
Better still, look at both cpu usage and real-time bandwidth concurrently when doing a speed test.
Normally, you can’t do this, but if you open a new browser tab and copy the current router URL into it, you can have two pages open at the same time. I say this because if the speed is lower than it should be, its likely the router is burning cpu cycles doing something else. Make sure cpu usage is low before running any speed test.
Next step is to try to narrow down the firmware version with the problem. If you are running firmware 8.1, then try 8.0.2. If you are running firmware 8.0.2, then try firmware 8.1. If the problem happens in both editions of firmware 8, then try firmware 7.1.2. Yes, its a pain and yes its time consuming. But if you want a real answer, this seems the way to get it. Heck, often just rebooting fixes a problem.
All of these firmware versions can be downloaded from the Peplink website. If you need to go backwards, you can get older firmware from the archive
Oh, an re-reading your problem made me think of my situation. I have one LAN port that is its own VLAN. The entire VLAN is just the one LAN port. The device plugged in to it is only 100Mpbs and firmware 8 does not seem to deal with it all that well. I have not looked into it in detail but it keeps thinking the port is up, then down, then up, then down… This persisted across two different routers running firmware 8. Maybe its the VLAN, maybe the slow Ethernet port. Dunno.