If you need to use ALWOBJDIF then you need *ALLOBJ – doesn’t matter which restore command you’re using this is related to ALWOBJDIF only.
Personally I don’t recommend using ALWOBJDIF(*ALL) – it can make quite a mess of your database – it renames existing objects instead of replacing them. You end up with lots of objects called xxxx000001, xxxx00002, etc.
Note that if ALWOBJDIF() is actually needed, then you aren’t restoring the object that was saved. It simply isn’t possible that it’s the same object. In your particular case, you’ve already made it clear that these aren’t the same objects — you’re actually “copying” from one system to another but using save/restore to effect the copy.
From the command’s viewpoint, it balks because it has found a different object that has the same name. It demands that this kind of replacement without verification must be done with high authority.
You can’t expect a system to provide well defined save/restore capabilities while also simply allowing “mistakes” without question. High authority is a good thing if it protects an existing object.