Using a task as a duration buffer gives you a higher level of visibility in the Gantt. And is easier to understand. Whereas a lag or lead is not as obvious. Whatever you chose, I suggest staying consistent. I use a duration buffer at the end of the project for my contingency time to protect the project’s completion date.