In the new version, we have a better object model where documents track their state via snapshots. Each snapshot is an immutable copy of the document at that time, which allows full document text to be traversed across threads. And it allows translating offsets from the current location back to a previous location and vice versa, which is useful when you have things like an AST based on an earlier snapshot. With the newer snapshot mechanism, document lines are no longer tracked like they were before when there were no snapshots, so storing tags isn't really possible.
I would recommend that you use something like a List<T> where each entry is for the related line index. Then watch the document's TextChanged event. It tells you how many lines were inserted/deleted and the start line index. You can adjust your collection using that information. If you store that list in the document.Properties dictionary, you can access it from anywhere.