... будет обрабатываться в call stack что собственно затормозит сайт
- затормозит сайт если код выполняется до события DOMContentLoaded,если я вас правильно понял, а таймер закончиться, дальше задача попадет в callback queue и когда дойдет очередь уже в call stack. WebApi - это некий доп.инструмент для js, образно говоря. Так как setTimeout и setinterval в спецификации не описан, js попросту не умеет считать таймер, поэтому этим делом занимается браузер, тоесть WebApi.
Так где же здесь асинхронность?
Все выполнятся в один поток, по очереди, это и есть асинхронность.
Или же что бы достичь асинхронности мне нужно разбивать этот setTimeout на еще мелкие setTime-аути чтобы те выполнялись быстрее в call stack?
- А есть вам нужно отложить или задержать какое-то действие, то да, вам лучше разбить на таймауты все, а еще лучше использовать async await, либо промисы.