This used to be me but pair programming / in-call collaborative working solved 100% of all of those problems.
Even the work/life boundary was solved because as soon as I dropped off the call at the end of the day my brain immediately switched off work mode.
These days the first thing I do in a new team is try to suss out who else is a bit like this and try to work out a collaborative working pattern that works for all of us.
It's not just more fun it's almost unreasonably effective. People who work non collaboratively tend to make more mistakes, bugs and worse decisions.