You can get close enough to a star to flip it to being "explored" icon and side panel, without actually seeing the planets.
That's true - since planets have a base stealth of 5 (or something like that) there's a point where you can see a system without being able to see the planets in the system.
There's not much the engine can do to properly handle that... Effects can do arbitrary things, so the UI assumes near-0 stealth for most planets, and thus that seeing a system with detection - distance - stealth > 0 gives a strategically different type of information about that system.
There should probably be a UI distinction between systems that have just been seen from afar and systems that you have actually entered, since the gameplay distinction is rather important.
Since ships can have a wide variety of detection ranges / strengths, there's not really that much of a difference between being near and in a system with regard to visibility.
Eventually, I'd prefer for FO to save information about the level of visibility (being detection minus stealth minus distance) you've had of any object, so you know how much you know about that object.
A basic form of this is already done, with the game tracking whether and when you saw objects with basic, partial or full visibility, where basic just means you know it exists and what kind of object it is (ship, system, building), partial means you know most stuff about it, and full means you know everything.
For example, if you've had visibility of 19 of a particular star system...
I doubt we need or will have multiple different visibility excess thresholds for specific bits of data. Presently the only visibility / stealth threshold is 0, which gives partial visibility. Basic occurs in a few special cases, and full requires ownership of an object.