FINISHED is an internal transition, it will fire if every action in the state is done regardless if you told it to or not. If you want to control when transitions are made then use unique transitions you've put in yourself.
For something like this I typically use Get Key, store the status in a bool, use Bool Test to check for when its true, send an event to another state, then change the status of the mouse lock or whatever I want in there and do the same to switch back.