If you look at the last 10 lines of the default HTML structure documentation of SugarCube 2 you will see that there is a div elements with an ID of passages, and this element is where the HTML output generated for the current Passage will be added.
If you look at the last 4 lines of the core-display.css file within the CSS documentation you will see a #passages rule which is assigning a default maximum width to the passages element, it is also assigning an automatic adjusting left and right margin to the same element.
Your issue isn't caused by text justification, it is a result of the #story element becoming wider than the maximum width allowed by the #passages element settings, which in turn causes the size of #passages element's left and right margins to be automatically increased equally, and this results in the #passages element being centred within the #story element.
One simple way to fix this issue is to use CSS (like the following) within your story's Story Stylesheet area to change the #passages element's left margin to zero, that way any difference between the #story element's width and the #passages element's maximum allowed width will only be added to the right margin of the #passages element.
#passages {
margin-left: 0;
}