I worked with 3dsMax many years, but no longer have access to verify so please take this as a guideline.
If you set the Position property, you're not necessarily setting the value on the controller, but the global position result of all position controllers. It's a bit like setting the global transform matrix, but only for the position.
For a local transform, what you want is to fetch the appropriate position controller and set its value directly. Last I tried this in MaxPlus, it was doable but painful. Keep in mind this was a while ago.
In your case the position controller is a list controller, so you will need to fetch the second sub-controller in that list, then set the separate float sub-controllers values for X, Y, Z. If I recall correctly, you can also set the vector directly on the root Position Controller (Zero Pos XYZ). In maxscript it's something along the lines of:
node.transform.controller.value = vector
This might be incorrect so consider it more like pseudo code... it's been a while.
Hopefully this helps.