Lazur & brynn thank you for all your helpful thoughts and comments. I think my original post was perhaps too brief, so I will expand on it:
My original SVG code (Quad2.svg) is as follows:
<g fill="none" stroke="black" stroke-width="4">
<g>
<path d="M 10,10 L 100,10 100,80 10,80 Z"/>
</g>
<g transform="translate(5,100) scale(0.5)">
<path d="M 10,10 L 100,10 100,80 10,80 Z"/>
</g>
</g>
As can be seen the second rectangle has exactly the same path points as the first, but it is transformed with a translation(5,100) and scale(0.5). Hence it appears further down the page and smaller. The path stroke width is set at 4mm for the overall group, but for the second rectangle this width is scaled down by a factor of 0.5 so displays as 2mm wide. All as expected and OK so far.
If the stroke width for this group is set to 3mm in Inkscape (version 0.92), both rectangles display with a stroke width of 3mm, which IMO is correct. Saving the file gives SVG of this form:
<g>
<path
style="stroke-width:3
d="M 10,10 L 100,10 100,80 10,80 Z"
/>
</g>
<g
transform="translate(5,100) scale(0.5)">
<path
style="stroke-width:6"
d="M 10,10 L 100,10 100,80 10,80 Z"
/>
</g>
As can be seen Inkscape has (correctly) achieved a display width of 3mm for the second rectangle by applying a width of 6mm PRIOR to the 0.5 scaling, i.e. 6mm x 0.5 = 3mm display width.
However if a pattern fill is applied to the rectangles it displays at different scales in the two shapes, which IMO is incorrect. This is because Inkscape makes no allowance for the 0.5 scale factor applied to the second rectangle. This behaviour is clearly different to the stroke width edit where Inkscape takes the 0.5 scale factor into account (setting the raw width to 6mm, to give a 3mm display width after scaling).