When the disk fills up it can be a pain due to temporary files associated with some functions…no ability to create temporary files implies no function. Login can be part of that.
Serial console is always logged in. If you use that you should be able to have full control to do things like remove packages. See:
You might try ssh if local keyboard fails.
If desperate you can simply flash (and make sure flash specifies the max use of eMMC via the flash.sh “-S 14580MiB” argument, or the equivalent in JetPack). If it turns out you have something critical to save you can first clone the root partition.