tab.viewPort origin position

Can you please explain how to get and then reset the initial tab.viewPort position, so that nothing moves in the tab? I can’t wrap my head around how viewPort works now. In Glyphs 2 this code temporarily moves the origin away and then returns it back, perfect. In Glyphs 3, all three steps print exactly the same origin, but in the end it moves away.

Glyphs.clearLog()

# get the original viewport position and a temp copy
original_vp = Font.currentTab.viewPort
temp_vp = Font.currentTab.viewPort
print(Font.currentTab.viewPort.origin)

# temporarily change the viewport position
temp_vp.origin.x = 3456
temp_vp.origin.y = 3456
Font.currentTab.viewPort = temp_vp
print(Font.currentTab.viewPort.origin)

# return back to the original vp position - works in Glyphs 2, but not in Glyphs 3.
Font.currentTab.viewPort = original_vp
print(Font.currentTab.viewPort.origin)