How to set active scene via Python?
Yes, that answer is valid.

You only need one of these 2 lines, they're just a different way to access the Screen data block. A screen datablock defines the layout of editors (which is why there is a selection of "screens" for e.g. UV editing, animation, etc. and you can fully customized that).

Every window (the system window blender runs in) has a screen property. Every screen in turn has a scene property which defines the active editable scene. Both of these properties are selectable at the top of the window by default. The most convenient way to set the screen.scene property is probably via the context:

bpy.context.screen.scene = some_scene