The above should work with a single linked row (at least it did in my testing).
For multi-linked rows, see this simple clone. It prints out the fully casted list (including nested dicts). See if you can extrapolate to fit your needs.
As I mentioned above, the basic idea is to use another layer of looping to iterate through the inner list of rows, cast them to dicts, and update the outer dictionary. No magic unfortunately, just iteration.
https://anvil.works/build#clone:TL5PNLXNTG34VU7R=WDDNE35PGWTBECUPPB3FPHLW