QubesOS gets laggy in a specific scenario

I am seeing significant laggy experience in QubesOS under one specific scenario. I use novacustom NV41PZ laptop.

First scenario = OK scenario
Laptop → Wired connection to switch → Wired connection to router → Wired connection to internet

Second scenario = Issue scenario
Laptop → Wired connection to router → Wireless connection to internet (public wifi hotspot)

In second scenario, I have to first open a firefox browser, login to the admin panel of the router and the connect to a public wifi hotspot. I also have to access captive portal of the public wifi hotspot before connecting to internet. I also use a feature in my router called auto-enable login mode for public hotspots which turns off some features in the router.

I have been using scenario 2 for more than two weeks now. But last couple of times, I noticed that the qubes laptop gets significantly slow (even before connecting to public hotspot). The mouse movements are slow, it take lot of time to open windows among other things.

To demonstrate how laggy QubesOS becomes in second scenario, below are the times taken to start 4 VMs in scenario 1 and 3 VMs in scenario 2.

Scenario 1: 4 VMs start in approximately 21 seconds
Jun 25 17:30:30 dom0 qubesd[2497]: vm.sys-cacher: Starting sys-cacher
Jun 25 17:30:30 dom0 qubesd[2497]: vm.sys-firewall-vpn: Starting sys-firewall-vpn
Jun 25 17:30:30 dom0 qubesd[2497]: vm.sys-mullvad-vpn: Starting sys-mullvad-vpn
Jun 25 17:30:30 dom0 qubesd[2497]: vm.sys-firewall: Starting sys-firewall
:
Jun 25 17:30:32 dom0 qubesd[2497]: vm.sys-firewall: Setting Qubes DB info for the VM
Jun 25 17:30:32 dom0 qubesd[2497]: vm.sys-firewall: Starting Qubes DB
:
Jun 25 17:30:32 dom0 qubesd[2497]: vm.sys-firewall: Activating the sys-firewall VM
:
Jun 25 17:30:37 dom0 qubesd[2497]: vm.sys-mullvad-vpn: Setting Qubes DB info for the VM
Jun 25 17:30:37 dom0 qubesd[2497]: vm.sys-mullvad-vpn: Starting Qubes DB
:
Jun 25 17:30:37 dom0 qubesd[2497]: vm.sys-mullvad-vpn: Activating the sys-mullvad-vpn VM
:
Jun 25 17:30:43 dom0 qubesd[2497]: vm.sys-firewall-vpn: Setting Qubes DB info for the VM
Jun 25 17:30:43 dom0 qubesd[2497]: vm.sys-firewall-vpn: Starting Qubes DB
:
Jun 25 17:30:43 dom0 qubesd[2497]: vm.sys-firewall-vpn: Activating the sys-firewall-vpn VM
:
Jun 25 17:30:49 dom0 qubesd[2497]: vm.sys-cacher: Setting Qubes DB info for the VM
Jun 25 17:30:49 dom0 qubesd[2497]: vm.sys-cacher: Starting Qubes DB
:
Jun 25 17:30:49 dom0 qubesd[2497]: vm.sys-cacher: Activating the sys-cacher VM
:
Jun 25 17:30:51 dom0 runuser[6155]: pam_unix(runuser:session): session closed for user <user>
Scenario 2: 3 VMs start in approximately 1 min 33 seconds
Jun 25 14:49:05 dom0 qubesd[2646]: vm.sys-cacher: Starting sys-cacher
Jun 25 14:49:05 dom0 qubesd[2646]: vm.sys-firewall-vpn: Starting sys-firewall-vpn
Jun 25 14:49:05 dom0 qubesd[2646]: vm.sys-mullvad-vpn: Starting sys-mullvad-vpn
:
Jun 25 14:49:20 dom0 qubesd[2646]: vm.sys-mullvad-vpn: Setting Qubes DB info for the VM
Jun 25 14:49:20 dom0 qubesd[2646]: vm.sys-mullvad-vpn: Starting Qubes DB
:
Jun 25 14:49:20 dom0 qubesd[2646]: vm.sys-mullvad-vpn: Activating the sys-mullvad-vpn VM
:
Jun 25 14:49:53 dom0 qubesd[2646]: vm.sys-firewall-vpn: Setting Qubes DB info for the VM
Jun 25 14:49:53 dom0 qubesd[2646]: vm.sys-firewall-vpn: Starting Qubes DB
:
Jun 25 14:49:53 dom0 qubesd[2646]: vm.sys-firewall-vpn: Activating the sys-firewall-vpn VM
:
Jun 25 14:50:24 dom0 qubesd[2646]: vm.sys-cacher: Setting Qubes DB info for the VM
Jun 25 14:50:24 dom0 qubesd[2646]: vm.sys-cacher: Starting Qubes DB
:
Jun 25 14:50:25 dom0 qubesd[2646]: vm.sys-cacher: Activating the sys-cacher VM
:
Jun 25 14:50:38 dom0 runuser[6261]: pam_unix(runuser:session): session closed for user <user>

Another detail I noticed is that, in scenario 2, the systemd services in sys-firewall-vpn are ignoring the dependecies set in After definition.
I have a service qubes-set-mtu that is set to run After qubes-netowrk-uplink@eth0.service. In scenario 1 its working as expected.
However, in scenario 2, the service qubes-set-mtu runs before qubes-network-uplink@eth0.service and fails.

Any ideas on why this is happening? I would also like to know how can I go about analyzing the issue in more detail?

Soon, I am planning to reinstall both router firmware and qubes os as I suspect either or both of them to be compromised. But just wanted to check if anyone had encountered similar scenario.