Not your AC500.
I own three AC300s of various vintage and - what appear to be - slightly different hardware and all three exhibit this very same behavior, on both accounts.
When an AC300/AC500 hits 100%, it stops charging and the batteries start slowly discharging, servicing the internal components’ needs.
When the SOC drops below 98% (the average becomes 97.75% in case of a four-battery setup) and the app as well as the touch screen display “97%”, the charging resumes at full throttle once again, and the batteries are charged back to 100%.
In between these two states, the solar charging occasionally also kicks in for brief periods (I use the D300S voltage reducers and I can hear them spinning up periodically - they have a distinctive, high-pitch noise above certain wattage levels) and also see it in the app and the touch screen, however this does not seem to provide the sort of “PV pass-through” you or I would expect. Depending on the load (the shallower/lower the load, the higher the probability is), occasionally it seems to find a sort of “equilibrium” when the incoming PV roughly matches the outgoing load (I only output AC so it is easier to see) but even then, the batteries slowly discharge and the SOC drops to 97%, when the full recharging to 100% kicks in.
The other “issue” you mention is at least as interesting, if not more, and I only realized it recently, after purchasing the 3rd unit and connected it for “grid” charging to one of the other two AC300 units. The two older AC300 units are connected to the “real” (i.e. utility) grid, on two opposite phases, via 30A single-phase L14-30 charging cables.
What I noticed is that when the “downstream” AC300 is in “Load Matching” mode (the solid orange AC icon), and the unit is told explicitly to DISCHARGE (either by being in PV Priority mode and above the configured SOC [your case] or by forcing discharge via the Time Control / Customized UPS mode [my case]) it still picks up a few dozen watts from the “grid”. Although the unit itself shows it is not using any grid power, the outgoing AC load on the “upstream” AC300 clearly shows an elevated load (in the 20 to 50W range), depending on the load on the “downstream” AC300).
Now, I have known it for some time that the AC300 will not show the load used for powering the internal components as part of the load drawn from the grid (i.e. it will show 0 if there is no other load) but I did not expect it to draw grid power even when it is explicitly told not to (and also should not, because it could power itself from its internal batteries or when there is more than enough juice from PV). Still, it apparently does use a small amount grid power practically every time.
The only way to prevent this from happening (apparently) is by physically disconnecting the unit from the grid, and putting it into “Inverter Mode” (light orange AC icon). Not even turning off the “Grid Charging” in the Customized UPS mode prevents this slow trickle of grid power usage.
Finally, the funniest part: I have been using my two main AC300s in Customized UPS mode and “discharging” for months, believing that I was not drawing any grid power in the process, when I evidently was (as it turns out). BUT: I have never been billed by my utility for this usage and it has never showed up in any usage reports. The only thing I can imagine is that this slow trickle of power draw by the two upstream, utility-facing AC300s is below a certain threshold the utility recognizes as actual usage.
I few closing notes:
This ping-pong of bouncing back’n forth between 100% (or any configured SOC(max) and 97% [or configured SOC(max) - 3%] is something the AC300/AC500 regularly does - not only when charging from PV but also when grid-charging.
It also does a similar thing when it is told to discharge, but reaches a configured SOC(min), while connected to the grid: it goes into Pass-through mode “D” (one of the two states hiding behind the green AC icon), lingers there for a while with load seemingly matching the AC load, creating the impression of a “real” pass-through, but the batteries are in fact still slowly discharging until SOC(min) - 3%, at which point it grid-charges back to the configured SOC(min).
In summary, although these things are indeed peculiar, I personally can live with them, especially since I’m not being charged by my utility for that “shadow” consumption (hope it stays that way). The 3% ping-pong instead of proper pass-though is, well, annoying indeed, but I can live with it, especially since I have two full stacks of 4 B300s (not B300Ss :).
Hope it helps. - Gabriel