If we delve deeper into the V8 JavaScript engine, execution may be broken, which may clarify the current behavior. JavaScript is single-threaded, more precisely
== ==

, setTimeout WebAPI, . WebAPI , "", JavaScript.
. : classList , "
"Render Queue", V8, :

"". , , " ", , WebAPI. , , script setTimeout, .
https://youtu.be/8aGhZQkoFbQ