I believe I found the answer to my own question.
This thread which refers to
this thread which refers to
this page clued me in.
I'll try to summarize it accurately here, in case those links die.
My PocketBook reader links to annotations like this: #point(/1/4/162/1:3), for example. The numbers represent the node tree and the nth child of the parent node, counting whitespace between nodes as a node itself. That's the part I'd probably never have guessed on my own.
So in my example, / is the root, 1 is the first node (html), 4 is the 4th child of that node (whitespace, <head>, whitespace, <body>), 162 is the 162nd child of that node, 1 is the first child (which is just text) of that <p> node, and 3 is the character position. I'll need to throw together a mockup epub with some more or less complicated examples so I can see how it handles highlighting across paragraphs or <span> tags within <p> tags, but I think I have a handle on it now.
The use case, if anyone was wondering, is I use annotations to mark obvious text errors in sloppily digitized ebooks so I can go back and fix them later. If I had a Sigil plugin that could parse the annotations file and jump to the relevant points in the book, I'd be able to streamline the process quite a bit.