This is only occasionally accurate.
Example 1: Still Landing in Arietis Sector ER-V b2-5, is an Orbis orbiting the main star -- not a body. The only other player-built instance in the system is an installation of unknown type occupying the same orbit, and yet this station is producing gobs of commodities.
Still Landing:
https://inara.cz/elite/station-market/721758/
Example 2: My starter Coriolis, Gossamer Landing, was completed on day 5 after the feature launch, and is orbiting a moon around a gas giant in HIP 5710. My first settlement was on the moon below the station, a mining settlement (Seidel Drilling Enterprise), in the only slot available (mind you, the placement of the Coriolis was decided for me). This was completed before the weekly tick that first week. The station still only exports biowaste and hydrogen fuel. The settlement at least seems to be making something useful, microbial furnaces.
Gossamer Landing:
https://inara.cz/elite/station-market/686127/
Seidel:
https://inara.cz/elite/station-market/695078/
So I do not believe that your statement is accurate in practice. Can we acknowledge that there are bugs that need to be addressed here? Either that, or explain how these two cases can exist in the same universe under the rule you stated in the OP.
As a third example, in the "pre-existing" galaxy, Snyder Enterprise is orbiting a gas giant in TZ Arietis. There are no other orbital facilities around that giant, and Snyder is not orbiting a moon or other body. And yet it has a vibrant, booming supply of commodities in its market.
Snyder Enterprise:
https://inara.cz/elite/station/1308/
Are the rules different for pre-existing systems/economies/facilities than they are for player-developed ones? And if so, why? And also if so, what are those rules? Can we finally get a list somewhere that describes how a system economy works together, how (if at all) these various metrics such as security, wealth, development, tech level, etc., play into it?
Because flailing around trying to figure it out for ourselves simply isn't working.