To add to your points, a very important consideration is that charter schools can game the metrics by forcing out students who aren't performing well, while public schools can't turn anyone away. This may be why they seem to improve test scores without making any actual difference [1].
Public schools can use charters to game metrics themselves too [2].
[1] http://www.nber.org/papers/w22502
[2] https://www.propublica.org/article/alternative-education-usi...