There was a mistake on the switchbrew wiki and upon further investigation it seems that ldn_mitm is relying on the wrong command table.
It appears that ldn_mitm uses the "ldn:u" service (IUserLocalCommunicationService), but ldn_icommunication.hpp defines the commands for "ldn:s" (ISystemLocalCommunicationService) instead.
In ISystemLocalCommunicationService, commands 402 and 403 are indeed SetOperationMode and InitializeSystem2 (which were correct from the beginning).
However, command 403 doesn't exist for IUserLocalCommunicationService and command 402 is actually Initialize2 (this has been corrected on the wiki). This should explain why using command 402 fixed the recent issue with the latest Smash update.
There was a mistake on the switchbrew wiki and upon further investigation it seems that ldn_mitm is relying on the wrong command table. It appears that ldn_mitm uses the "ldn:u" service (IUserLocalCommunicationService), but ldn_icommunication.hpp defines the commands for "ldn:s" (ISystemLocalCommunicationService) instead. In ISystemLocalCommunicationService, commands 402 and 403 are indeed SetOperationMode and InitializeSystem2 (which were correct from the beginning). However, command 403 doesn't exist for IUserLocalCommunicationService and command 402 is actually Initialize2 (this has been corrected on the wiki). This should explain why using command 402 fixed the recent issue with the latest Smash update.