By gateway do you mean the trunk? Registering on both sides doesn’t make sense as to register you need to know the address of the other side, but the only real purpose of registration is to let the other side know your address. If you need to register, the other side wouldn’t have the information needed to register itself. My suspicion is that both sides should be set to not register.
It is not completely clear to me as to the direction of the call, and whether it is Asterisk that is generating 404. If it is FusionPBX to Asterisk and Asterisk is generating the 404, you need to provide the full log from Asterisk, as per: