The first action, on start - it needs separating.
Essentially, everything from local storage is brought in 'blobs' - every time you retrieve anything, it has to check the blob, then fetch that blob first - which is two whole interactions, each of which take (a very small amount of) time. So when you use 'Check item exists' you have to use another action to call when the blob check has finished (otherwise it will try and do it in the same tick - which won't work, because the blob hasn't been... blobbed (?) yet).
The action you need is 'On item exists [CurLocation]' - then use 'Get item [CurLocation]' action in that event. Then you need another event 'On get item [CurLocation]', in which you can FINALLY set the variable! Seems crazy I know.