Ok, I've managed to narrow down my issue to displayport link training code somehow triggering a monitor disconnect while attempting to wake it up. So my issue is completely unrelated, none of my comments here apply, please ignore (no way to delete them unfortunately).