When I put the car in Drive I noticed the rated range at 100% is now 460km, up from the 437km I mentioned earlier.
Was it left plugged in? Might imply a rebalance occurred. A weak brick (this is totally speculative and may not be your issue) would charge to 100% more rapidly during a charge, and the other bricks would be left incompletely charged (assuming that they were lower than they "should" have been at the start of the charge due to prior rebalancing from those bricks to the weaker brick - without this rebalancing they would get to 100% at the same time as the weak brick, in theory). If left plugged in, it could bleed down the weakest cell, and then charge all bricks again to get the rest of the cells charged to a higher voltage. That implies more energy in the pack because the pack voltage is higher during the discharge (even though the weakest brick would still limit the amp-hours available, and that wouldn't change as a result of this rebalance). (V*I integrated over time is the energy...)
(If this were the case, in SMT, at 100% charge, it would have had a really low voltage, and then overnight the voltage would eventually increase.)
I had ~77% left. Didn’t charge the car and this morning it shows around 83% while the range at 100% is 459km.
Would have been interesting to know what that 77% was in km, and what it projected to at 100%...
That's a big adjustment - people do see that behavior occasionally (usually just a couple % though). Again, to me this implies some sort of rebalancing. The BMS detected the weak brick was lower voltage than the rest, and redistributed charge to it (I don't actually know whether the BMS has this capability, or whether it only has bleed resistors...I thought it couldn't do this redistribution, but I'm not sure...it seems like a very capable BMS could do it). That would again allow more energy to be drawn from the pack before getting to "zero" on the weak brick - and means more range.
This is all totally speculative and may be completely wrong - while rebalancing at a high level isn't that complicated a topic (you just want to maximize the amount of energy that can be drawn from a set of cells/bricks in series), the details and implementation are tricky. It seems unlikely, too, that your issue is as simple as "just a bad brick." This speculation is more just thinking through how a BMS might adjust for certain pack issues - not what yours is actually doing.
Your pack is one that might actually be interesting to see in SMT, just to see what it says about the balance, voltages, etc.!
It's possible/likely the BMS is just really confused or broken due to some pack issue, and that's why it can't get the SoC right.
I have a service appointment next week.
Did you ask whether they could run remote diagnostics?
If they do diagnose the pack as bad, see whether you can get information on the technician on what they saw, exactly. You never know, they might tell you. Ask about balance, modules, bricks, etc. Would be nice to correlate a particular symptom with a particular type of failure.