They dont even need the hub, direct associations can work without the hub.
But, in this case both devices are not zwave so a hub rule is the only way.
I think to fully understand it you would need to enable more logging on the Kasa app/devices. Its not clear if the Kasa device was told to turn on right away and was slow to respond, or was there a delay in the hub telling it to turn on?
You could also enable logging on the rule(s) which will tell you when and how quickly the rule is doing its part.
Also, screenshots of logs are much easier to read than copy/paste text.
@jtp10181 : I fear direct associations only work effectively on Zooz devices when the hub is present. According to Zooz they send the Group 1 associations first and will not send the Group 2 associations until the hub has either responded or timed out. For my hub that timeout is typically 8 seconds.
I will do some more testing on this issue but it appears randomly across all devices and is not restricted to just the Kasa devices.