Yes, that is the correct scenario. We have "l-container lcontainer--narrow" classes applied by default, and they are also applied when the "narrowContent" style is selected.
On our author instance, the classes are applied to the component by default when nothing is selected and when author selects the style manually. But on our publish instance the styles are applied only when the author selects the "narrowContent" style
Here is the extract from the policy file:
<container
jcr:primaryType="nt:unstructured"
jcr:title="Content"
sling:resourceType="wcm/core/components/policy/policy"
backgroundImageEnabled="true"
columns="4"
cq:styleDefaultClasses="l-container l-container--narrow"
components="[group:Base]">
<jcr:content jcr:primaryType="nt:unstructured"/>
<cq:styleGroups jcr:primaryType="nt:unstructured">
<width
cq:styleGroupLabel="Width"
jcr:primaryType="nt:unstructured">
<cq:styles jcr:primaryType="nt:unstructured">
<narrowContent
cq:styleClasses="l-container l-container--narrow"
cq:styleId="narrowContent"
cq:styleLabel="Narrow Content"
jcr:primaryType="nt:unstructured"/>
<fullContentWidth
cq:styleClasses="l-container"
cq:styleId="fullContentWidth"
cq:styleLabel="Full content width"
jcr:primaryType="nt:unstructured"/>
</cq:styles>
</width>
</cq:styleGroups>
</container>