There are different pieces of software which set the video mode depending on whether it is the X11 GUI or text console. It is very likely that the text console is failing to set correct video mode. One of the big reasons for serial console is so useful is that it essentially has close to no driver needed…it’s just a string of bytes, so it works even when large parts of the system have crashed and burned. I would think serial console would be a good way to see what’s going on.
Since you can’t log in you can’t run this command, but if you could, this would possibly tell you something in hardware drivers is out of place:
sha1sum -c /etc/nv_tegra_release
Failing to start session could be the inability to create temporary files, which can sometimes be because of any failure of permissions (not just a filled file system) or a component needed to write the file being missing. You could examine the system by cloning it, then loopback mounting it on your host PC. However, it seems like fixing it might still be answered as “it needs to be flashed” even if you do discover some reason for the failure.
Is there any reason you can’t flash? If you need to first save some critical data then cloning would do the job, but I think there won’t be any easy fix other than just flashing it new since you can’t ssh in.