It is unusual to see an MRAID container that is not fixed, but not forbidden.
The purpose of current/default position is primarily to understand how to manage resize.
They let the ad designer know if they should try to expand up/down/left/right so that the creative stays on the screen...and to know how their ad might behave after closing a resized ad.
If the ad is in "default" state, then these methods return the same values.
If the ad is in "resized" or "expanded" state, then the currentPosition values will differ from the defaultPosition.
Given that the defaultPosition values are where the container is relative to the screen area of getMax size, the if your screen is 500px high and you allow the container to scroll off the bottom, the y-value of defaultPosition could be 600px for example. (You would also want to set the value for isViewable to false.)
This does mean that the defaultPosition changes when the container is in a scrollview and does not change when it is in a fixed placement. But I think that makes sense.
You shouldn't have to worry about currentPosition having off-screen values because the only time currentPosition is different from defaultPosition is in non-default states. And these states would always be onscreen.