UPDATE: Managed to solve this by changing the 'includes' calls in isMHAllowedWithOffHandWtypeId and isOHAllowedWithMainHandWtypeId to 'contains' calls.
Using MV. I've checked the loading order, and it...seems correct to me.
Still, I ran into the following bug on boot. After making sure the weapons weren't equipped until runtime, I met the bug again upon trying to access the equipment screen.