I'm the same way and I've found there's no real way around it. I've found it's actually a really useful way of thinking for complex projects and planning and prioritization, but bad for getting things done. The only things that work for me to manage this:
1. Relentlessly make distractions high friction. Block websites, go to the office if you get distracted at home, etc.
2. Use time-based daily planning instead of goal-based (stuff like pomodoro helps). If I put "create work plan for project Z" on my to-do list, it is ambiguous and I will put it off forever. If I just say "Spend 25 minutes on work plan for project Z, no pressure on outcome/output", I make tons of progress (and often can continue the task for a while)
1. Relentlessly make distractions high friction. Block websites, go to the office if you get distracted at home, etc.
2. Use time-based daily planning instead of goal-based (stuff like pomodoro helps). If I put "create work plan for project Z" on my to-do list, it is ambiguous and I will put it off forever. If I just say "Spend 25 minutes on work plan for project Z, no pressure on outcome/output", I make tons of progress (and often can continue the task for a while)
3. music
4. the obvious diet/sleep/meds advice