I’ve been working on the tooltips since mid-last-week, so let me report on that.
The original request for the tooltip was to reuse a known existing positioning library. I’ve looked at what’s out there, and the situation is basically that there’s just one library, Floating UI. Popper is abandoned in favor of FUI, and there aren’t any other libraries (they all use Popper or FUI under the hood).
I’ve looked at the FUI library source code, and it’s essentially an entire framework for positioning. The code is quite complex and there’s a lot of it. Given that our use case (tooltips) is fairly simple, I concluded that using FUI would be a big waste of bandwidth. We wouldn’t be utilizing more than a fraction of what it does. Extracting the relevant positioning code was another thing I’ve considered, but given that it’s a framework, it has lots of internal dependencies that make this not worthwhile. (Tree-shaking would be faced with the same issue.)
After a bit of experimentation, I’ve come up with positioning logic that comprises of about 31 lines of JS augmented by a couple of lines of CSS, which takes care what we need for the tooltip. You can see the PoC for this on Codepen.io.
Here’s a screenshot of it in the actual Indico app.

There’s one thing I still haven’t finished with this solution, which is to track the reference element when the container is scrolled. Since scrollable containers’ scroll event does not bubble, I need to locate the scrollable element and makes sure the scroll event is relayed to the tooltip. This is not a big issue, though.
While solving the tooltip, I’ve also managed to get it showing outside the bounds of a container that has a scrollbar, which Popper/FUI don’t do (as far as I know), so we actually did one better in that regard.

Now, when it comes to the tooltips shown in the category/event count icons, these cannot actually be implemented as tooltips (the screenshot was just a test I was doing). Tooltips can only be added to elements that are interactive and focusable, which these two icons are not. In the actual implementation, I’ll need to add a toggletip (usually represented as an info button–circle with lower-case i or question mark). I should be able to reuse the tooltip code just fine.