A probable bug in Selected Rows in DashTable

My use case is that when I select a row, I add in more rows in the DashTable just below it using a backend callback.

In such a case, when I select a row (say B) just above an already selected row (say A), I want my lower row (A) to remain selected but instead when Table gets populated with one more row using callback between A and B (say C), C ends up being selected shifting A further down, which was not intended.

I mean shifting A down was intended, but A should remain selected.
The same thing happens when I select a cell

@chriddyp any suggestions to the way to tackle this issue ?
Maybe some way that I send whole data to the client and hide or display certain rows somehow ?

A solution where in I can nest a small datatable within a datatable would even be great!!
Is that possible ?
Something as asked in Nested rows in datatable as well