No, but after I posted this morning, I rebooted, logged back in without launching any apps, and locked the screen. In under 3 hours, DirectMap4K had grown to 32GB.
Poking around again in journalctl, I see that there is a pattern where I get messages like the following in the hours leading up to the oom-killer:
$ journalctl --since "Feb 1 00:00:00" |grep -i -e hogged -e oom-killer -e rebooting
Feb 03 11:19:02 host systemd-logind[1308]: System is rebooting.
Feb 03 12:05:53 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 4 times, consider switching to WQ_UNBOUND
Feb 03 12:06:03 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 5 times, consider switching to WQ_UNBOUND
Feb 03 13:58:34 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 7 times, consider switching to WQ_UNBOUND
Feb 03 13:59:16 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 11 times, consider switching to WQ_UNBOUND
Feb 03 14:00:35 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 19 times, consider switching to WQ_UNBOUND
Feb 03 14:03:14 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 35 times, consider switching to WQ_UNBOUND
Feb 03 14:08:31 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 67 times, consider switching to WQ_UNBOUND
Feb 03 14:19:24 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 131 times, consider switching to WQ_UNBOUND
Feb 03 18:42:32 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 259 times, consider switching to WQ_UNBOUND
Feb 03 19:59:29 host systemd-logind[1088]: System is rebooting.
Feb 03 21:31:39 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 4 times, consider switching to WQ_UNBOUND
Feb 03 21:37:20 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 5 times, consider switching to WQ_UNBOUND
Feb 03 21:54:23 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 7 times, consider switching to WQ_UNBOUND
Feb 04 12:06:20 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 11 times, consider switching to WQ_UNBOUND
Feb 05 14:32:48 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 19 times, consider switching to WQ_UNBOUND
Feb 11 10:15:54 host systemd-logind[1280]: System is rebooting.
Feb 11 11:12:07 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 4 times, consider switching to WQ_UNBOUND
Feb 11 11:12:17 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 5 times, consider switching to WQ_UNBOUND
Feb 11 11:12:37 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 7 times, consider switching to WQ_UNBOUND
Feb 11 11:13:16 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 11 times, consider switching to WQ_UNBOUND
Feb 11 11:14:36 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 19 times, consider switching to WQ_UNBOUND
Feb 11 11:17:15 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 35 times, consider switching to WQ_UNBOUND
Feb 11 11:22:32 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 67 times, consider switching to WQ_UNBOUND
Feb 11 11:33:08 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 131 times, consider switching to WQ_UNBOUND
Feb 11 11:54:51 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 259 times, consider switching to WQ_UNBOUND
Feb 11 19:03:46 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 4 times, consider switching to WQ_UNBOUND
Feb 11 19:03:56 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 5 times, consider switching to WQ_UNBOUND
Feb 11 19:04:16 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 7 times, consider switching to WQ_UNBOUND
Feb 11 19:04:56 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 11 times, consider switching to WQ_UNBOUND
Feb 11 19:06:15 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 19 times, consider switching to WQ_UNBOUND
Feb 11 19:08:54 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 35 times, consider switching to WQ_UNBOUND
Feb 11 19:14:12 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 67 times, consider switching to WQ_UNBOUND
Feb 11 19:24:47 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 131 times, consider switching to WQ_UNBOUND
Feb 11 19:45:58 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 259 times, consider switching to WQ_UNBOUND
Feb 11 20:28:19 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 515 times, consider switching to WQ_UNBOUND
Feb 11 21:53:18 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 1027 times, consider switching to WQ_UNBOUND
Feb 12 00:42:44 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 2051 times, consider switching to WQ_UNBOUND
Feb 12 01:23:23 host kernel: brave invoked oom-killer: gfp_mask=0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP), order=0, oom_score_adj=300
Feb 12 06:25:37 host kernel: gnome-shell invoked oom-killer: gfp_mask=0x40cc0(GFP_KERNEL|__GFP_COMP), order=0, oom_score_adj=0
Feb 12 06:25:43 host kernel: fwupd invoked oom-killer: gfp_mask=0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP), order=0, oom_score_adj=0
Feb 12 06:25:43 host kernel: systemd-udevd invoked oom-killer: gfp_mask=0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP), order=0, oom_score_adj=-1000
Feb 12 06:25:43 host kernel: 9 invoked oom-killer: gfp_mask=0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP), order=0, oom_score_adj=100
Feb 12 06:25:43 host kernel: systemd-udevd invoked oom-killer: gfp_mask=0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP), order=0, oom_score_adj=-1000
Feb 12 06:25:43 host kernel: 9 invoked oom-killer: gfp_mask=0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP), order=0, oom_score_adj=100
Feb 12 06:25:43 host kernel: systemd invoked oom-killer: gfp_mask=0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP), order=0, oom_score_adj=0
Feb 12 06:25:43 host kernel: 9 invoked oom-killer: gfp_mask=0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP), order=0, oom_score_adj=100
Feb 12 06:25:43 host kernel: polkitd invoked oom-killer: gfp_mask=0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP), order=0, oom_score_adj=0
Feb 12 06:25:43 host kernel: workqueue: delayed_fput hogged CPU for >10000us 4 times, consider switching to WQ_UNBOUND
Feb 12 06:25:43 host kernel: workqueue: delayed_fput hogged CPU for >10000us 5 times, consider switching to WQ_UNBOUND
Feb 12 06:25:45 host kernel: workqueue: delayed_fput hogged CPU for >10000us 7 times, consider switching to WQ_UNBOUND
Feb 12 06:32:09 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 4099 times, consider switching to WQ_UNBOUND
Feb 12 06:54:15 host systemd-logind[1450]: System is rebooting.
Feb 12 06:59:18 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 4 times, consider switching to WQ_UNBOUND
Feb 12 06:59:28 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 5 times, consider switching to WQ_UNBOUND
Feb 12 06:59:48 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 7 times, consider switching to WQ_UNBOUND
Feb 12 07:00:28 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 11 times, consider switching to WQ_UNBOUND
Feb 12 07:01:47 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 19 times, consider switching to WQ_UNBOUND
Feb 12 07:04:26 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 35 times, consider switching to WQ_UNBOUND
Feb 12 07:09:44 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 67 times, consider switching to WQ_UNBOUND
Feb 12 07:20:19 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 131 times, consider switching to WQ_UNBOUND
Feb 12 07:41:30 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 259 times, consider switching to WQ_UNBOUND
Feb 12 08:23:51 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 515 times, consider switching to WQ_UNBOUND
Feb 12 09:48:34 host kernel: workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 1027 times, consider switching to WQ_UNBOUND
So it's looking like an issue with amdgpu. Searching on the above workqueue line, I also just found this bug report for jetkvm which references the same amdgpu workqueue messages and suggests that the issue is triggered by monitor sleep/wake events. The user reports the issue on Ubuntu 24.04.3 LTS which should closely match Zorin 18 R3 by my understanding.