I'm setting up a modded server, all my friends can load in when no mods are installed. However one player seems unable to run many mods, but he should have enough memory. He can join fine with Primitive Survival installed, but adding Culinary Artillery and Expanded Foods makes it so he can't join sometimes and can join other times. When he can't join he'll get stuck on the "joining" screen for a while, and eventually the server console running on my virtual machine will say "client [playername] disconnected", on his end he'll still be loading in. He hasn't been able to join with any more mods than culinary artillery and expanded foods. He's already uninstalled and reinstalled the mods and the game, and while testing to try and find a setup that works we've always started a new save on the server.
TCP and UDP ports are forwarded. We've tested with his VPN off. Server and players are on 1.20.5. Any ideas on what's causing this? It shouldn't be internet because his ping is fine and we've got someone from the UK who can join just fine.