Correct.
No, doesn’t work that way. That command installs or switches if already installed only those named packages. Once installed or switched those packages are tagged as “vendor = packman” and are updated from packman during a zypper update
.
There is a sort of “vendor stickiness” so that any package remains bound to its “vendor” until you install or dist-upgrade the same package from another vendor with --allow-vendor-change.
So all packages switched “to packman” remain “from packman” until you explicitly change them, updates or upgrades do not change vendor unless you explicitly state so (whether in the same command line or in the zypper config files).
And packages are never installed “on top of each other”; there are some packages that may be installed in different versions (e.g. kernels) but if different packages try to install the same file, zypper prints an error.
Reading man zypper
or simply issuing zypper <command> --help
might give a clearer picture (and if not so, we are here to help).