I managed to make some progress on this.
In client device the packets were aggregated and they were send in multiples of 540.
The culprit was the default TCP setting
net.ipv4.tcp_min_tso_segs=2
When I set this to 1, tcpdump on client device reports that packets are all <540 now.
However when I perform the same tcpdump on router I see some packets are aggregated again. Client is connected from wifi and the router is using a bridge to aggregate 2 wlan nics (LANWIFI)
10:27:52.196183 IP clientip.port > server1.port: Flags [.], seq 72361:72901, ack 68, win 182, length 540
10:27:52.211117 IP clientip.port > server2.port: Flags [.], seq 136081:136621, ack 136, win 182, length 540
10:27:52.233399 IP clientip.port > server2.port: Flags [.], seq 136621:137161, ack 136, win 182, length 540
10:27:52.240156 IP clientip.port > server2.port: Flags [.], seq 137161:137701, ack 136, win 182, length 540
10:27:52.243860 IP clientip.port > server1.port: Flags [.], seq 73981:75061, ack 68, win 182, length 1080
10:27:52.249732 IP clientip.port > server2.port: Flags [.], seq 137701:138241, ack 136, win 182, length 540
10:27:52.260070 IP clientip.port > server3.port: Flags [.], seq 150121:150661, ack 170, win 201, length 540
10:27:52.260070 IP clientip.port > server3.port: Flags [.], seq 151201:151741, ack 170, win 201, length 540
10:27:52.271144 IP clientip.port > server4.port: Flags [.], seq 120421:120961, ack 187, win 180, length 540
10:27:52.286884 IP clientip.port > server4.port: Flags [.], seq 120961:121501, ack 187, win 180, length 540
10:27:52.286989 IP clientip.port > server4.port: Flags [.], seq 121501:122041, ack 187, win 180, length 540
How can I check if the wifi nic of router aggregates packets? (and maybe disable it?)