::before has the same problem.
You can't align text inside `content:` to the right. Probably because each ::before is handled separately and can't see the sibling's content length.
If you wrap the li contents in a div, you can handle them as a unit separately from ::before.
Then subgrid solves the problem of treating nested elements as siblings.