Glad you worked this out. I did want to point out a two quick things I noticed as I read this thread at AU.
First, the option you posted was actually working as submitted - the issue you saw was you had both sides of the statement had the geometry preview on. Disable the previews for the geometries before the If node and you would have been good as you were, though this solution given likely saves you some processing time in the end as it halves the amount of geometry.
The other bit to point out is that you can modify the if statement to call both functions in a single design script line to get what may be a faster processing time. The statement would read something like this:
X > 7 ?
TargetElement.Geometry.Translate(0, 0, 2000) :