A1: it’s optional to mention dependency. Only based on your own need, you can decide to do so.
A2: only edit it via developer or designer, never directly edit the manifest file.
I personally do not mention WmPublic as a package dependencies on my custom package as this package will always exists and I am sure that no one will delete it as it has all core utils out of box provided by SAG.
I suggest to update the package dependencies for your custom packages so that the dependent package must load first.
You don’t have to mention WmPublic as a dependent package for your custom package. This would be a dependent package for any custom package that you create, hence you don’t have to mention this.
Do you see manifest.v3.bak file? If so, delete that file and reload the pacakge
If you still have got problem, you messed up the structure of manifest.v3 file. Compare this file with any other manifest file from a loaded package with dependency.