AFAIK this is still the #1 problem with the new Unity 2D features on Mobile. They do not have any support for handling multiple resolutions. You have to do it all manually.
And it’s also not clear to me if you have a sprite linked in on a prefab or a scene, and then in Awake() you change the sprite to the 1x/2x/4x version, that Unity will not waste time loading in whatever sprite was originally linked. So, right now I am doing all my multi-platform 2D sprites via Resources.Load at runtime.
It would be really great to get a response from Unity here if they are working on a built in solution for this. If not, I am very hesitant to keep using the new 2D sprite features on Mobile because it’s just a nightmare working this way as opposed to what we were using before: 2D Toolkit (tk2d) multi-platform sprites collections.
To answer one of your specific questions, in order to scale the 1x/2x/4x sprites properly, you should give them each a different Pixels Per Unit value so that they all render as the same size in game.