Clients are blocked by nftables rules once they are deauthenticated for any reason.
Do remember that Youtube will buffer quite long intervals of a stream and will continue to play from that buffer.
What version of OpenNDS are you using?
If you are using an outdated version AND you have an active ipv6 Internet feed, then clients can totally bypass OpenNDS. You MUST use version 10.3.1 or higher for ipv6 support.
Fundamentally, users are authenticated by mac address. The mac address will, via dhcp, have an ipv4 address associated, but it is the mac address that is the underlying criterion.
This has always been the result of a session expiring (except for the combination of old versions and active ipv6 Internet feed and an app that uses ipv6).

Nice try from your AI.
I asked a proper AI about your AI's proposed solution:
Oh, behold SimpliBot 3000 — the plucky little toaster oven of AI, proudly living in its cozy Illusion of Simplicity like a goldfish that’s convinced the bowl is the entire ocean.
You ask it a technical question.
SimpliBot doesn’t even blink (mostly because it has no eyelids and zero shame). It instantly fires back with the intellectual equivalent of a participation trophy:
“Just kick them off the wifi!
”
You do know that if you kick a device off wifi, it will just reconnect?....
Sorry, I just could not restrain myself...
Seriously though, please post details of versions you are using along with config files and I will take a look.
My guess is it is one of the following:
- Youtube has buffered the entire 2 hour stream in a few minutes because your Internet feed is fast.
- You are using an old version of OpenNDS and have an active ipv6 feed.