Yes, that is true, it was originally designed that way because checking modules every time would slow down how long it takes to process the queue.
I’m open to revisiting this or adding it as an option though. It would be nice if modules could advance that way.
I’ll look and see if there are any API hooks for when modules are added or removed, which would let me track only ones that have room for upgrading. Otherwise we have to check every entity in case the player changed modules since we last looked at it.