I've looked back at the only stack-trace I've found so far (with the latest kernel):
Aug 29 06:02:01 192.168.1.47 [38724.528429] watchdog: BUG: soft lockup - CPU#4 stuck for 109s! [kcompactd0:99]
Aug 29 06:02:01 192.168.1.47 [38724.528431] CPU#4 Utilization every 4s during lockup:
Aug 29 06:02:01 192.168.1.47 [38724.528432] #1: 100% system, 0% softirq, 0% hardirq, 0% idle
Aug 29 06:02:01 192.168.1.47 [38724.528433] #2: 100% system, 0% softirq, 0% hardirq, 0% idle
Aug 29 06:02:01 192.168.1.47 [38724.528434] #3: 100% system, 0% softirq, 1% hardirq, 0% idle
Aug 29 06:02:01 192.168.1.47 [38724.528434] #4: 100% system, 0% softirq, 0% hardirq, 0% idle
Aug 29 06:02:01 192.168.1.47 [38724.528435] #5: 100% system, 0% softirq, 0% hardirq, 0% idle
Aug 29 06:02:01 192.168.1.47 [38724.528436] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq rfcomm qrtr rpcsec_gss_krb5 auth_rpcgss nfsv4 dns_resolver nfs lockd grace nfs_localio netfs sunrpc uhid cmac algif_hash algif_skcipher af_alg bnep i2c_dev crypto_user amd_atl intel_rapl_msr intel_rapl_common mt7921e mt7921_common mt792x_lib snd_hda_codec_hdmi mt76_connac_lib kvm_amd mt76 snd_hda_intel vfat fat kvm snd_intel_dspcfg irqbypass mac80211 snd_intel_sdw_acpi btusb polyval_clmulni snd_usb_audio btrtl ghash_clmulni_intel snd_hda_codec sha512_ssse3 btintel snd_usbmidi_lib sha1_ssse3 btbcm snd_hda_core snd_ump aesni_intel btmtk snd_rawmidi libarc4 spd5118 rapl mousedev snd_seq_device snd_hwdep bluetooth cfg80211 snd_pcm wmi_bmof joydev pcspkr sp5100_tco mc snd_timer snd rfkill i2c_piix4 soundcore ccp k10temp i2c_smbus gpio_amdpt mac_hid gpio_generic hid_cherry hid_logitech_hidpp amdgpu amdxcp i2c_algo_bit drm_ttm_helper ttm drm_exec gpu_sched drm_suballoc_helper nvme drm_panel_backlight_quirks drm_buddy nvme_cor
Aug 29 06:02:01 192.168.1.47 e drm_display_helper hid_logitech_dj
Aug 29 06:02:01 192.168.1.47 [38724.528474] nvme_keyring video cec nvme_auth wmi netconsole r8169 realtek mdio_devres libphy mdio_bus
Aug 29 06:02:01 192.168.1.47 [38724.528481] CPU: 4 UID: 0 PID: 99 Comm: kcompactd0 Tainted: G D L 6.16.2-artix1-1 #1 PREEMPT(full) 37c67756271dd857632c3bdd9372ff663f9d2da3
Aug 29 06:02:01 192.168.1.47 [38724.528484] Tainted: [D]=DIE, [L]=SOFTLOCKUP
Aug 29 06:02:01 192.168.1.47 [38724.528484] Hardware name: Micro-Star International Co., Ltd. MS-7D73/MPG B650I EDGE WIFI (MS-7D73), BIOS 1.H0 03/12/2025
Aug 29 06:02:01 192.168.1.47 [38724.528485] RIP: 0010:native_queued_spin_lock_slowpath+0x67/0x2f0
Aug 29 06:02:01 192.168.1.47 [38724.528489] Code: 0f ba 29 08 0f 92 c2 8b 01 0f b6 d2 c1 e2 08 30 e4 09 d0 3d ff 00 00 00 77 55 85 c0 74 10 0f b6 01 84 c0 74 09 f3 90 0f b6 01 <84> c0 75 f7 b8 01 00 00 00 66 89 01 65 48 ff 05 8d c0 fa 01 e9 1b
Aug 29 06:02:01 192.168.1.47 [38724.528490] RSP: 0018:ffffcf484050b850 EFLAGS: 00000202
Aug 29 06:02:01 192.168.1.47 [38724.528491] RAX: 0000000000000001 RBX: ffffcf484050b8f8 RCX: fffff00b0aa51628
Aug 29 06:02:01 192.168.1.47 [38724.528492] RDX: 0000000000000000 RSI: 0000000000000001 RDI: fffff00b0aa51628
Aug 29 06:02:01 192.168.1.47 [38724.528493] RBP: 0000044002c79000 R08: ffffcf484050b868 R09: 00000000ffffffff
Aug 29 06:02:01 192.168.1.47 [38724.528493] R10: 0000008000000000 R11: 0000000000000000 R12: ffff8d174f45ae00
Aug 29 06:02:01 192.168.1.47 [38724.528494] R13: ffff8d1847864780 R14: ffffff8000000000 R15: ffff8d174f45ae00
Aug 29 06:02:01 192.168.1.47 [38724.528495] FS: 0000000000000000(0000) GS:ffff8d1ed261b000(0000) knlGS:0000000000000000
Aug 29 06:02:01 192.168.1.47 [38724.528495] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Aug 29 06:02:01 192.168.1.47 [38724.528496] CR2: 00007f612010af78 CR3: 0000000106024000 CR4: 0000000000f50ef0
Aug 29 06:02:01 192.168.1.47 [38724.528497] PKRU: 55555554
Aug 29 06:02:01 192.168.1.47 [38724.528497] Call Trace:
Aug 29 06:02:01 192.168.1.47 [38724.528498] <TASK>
Aug 29 06:02:01 192.168.1.47 [38724.528499] _raw_spin_lock+0x29/0x30
Aug 29 06:02:01 192.168.1.47 [38724.528501] page_vma_mapped_walk+0x65b/0x9d0
Aug 29 06:02:01 192.168.1.47 [38724.528504] ? __lruvec_stat_mod_folio+0x85/0xd0
Aug 29 06:02:01 192.168.1.47 [38724.528507] try_to_migrate_one+0x118/0xd20
Aug 29 06:02:01 192.168.1.47 [38724.528511] rmap_walk_anon+0xd5/0x1f0
Aug 29 06:02:01 192.168.1.47 [38724.528514] try_to_migrate+0x8d/0x160
Aug 29 06:02:01 192.168.1.47 [38724.528516] ? __pfx_try_to_migrate_one+0x10/0x10
Aug 29 06:02:01 192.168.1.47 [38724.528517] ? __pfx_folio_not_mapped+0x10/0x10
Aug 29 06:02:01 192.168.1.47 [38724.528518] ? __pfx_folio_lock_anon_vma_read+0x10/0x10
Aug 29 06:02:01 192.168.1.47 [38724.528520] ? __pfx_invalid_migration_vma+0x10/0x10
Aug 29 06:02:01 192.168.1.47 [38724.528521] migrate_pages_batch+0x2a2/0xd20
Aug 29 06:02:01 192.168.1.47 [38724.528524] ? __pfx_compaction_alloc+0x10/0x10
Aug 29 06:02:01 192.168.1.47 [38724.528526] ? __pfx_compaction_free+0x10/0x10
Aug 29 06:02:01 192.168.1.47 [38724.528529] ? __pfx_remove_migration_pte+0x10/0x10
Aug 29 06:02:01 192.168.1.47 [38724.528531] ? __pfx_compaction_alloc+0x10/0x10
Aug 29 06:02:01 192.168.1.47 [38724.528532] migrate_pages+0xb0e/0xe20
Aug 29 06:02:01 192.168.1.47 [38724.528534] ? __pfx_compaction_free+0x10/0x10
Aug 29 06:02:01 192.168.1.47 [38724.528536] ? __pfx_compaction_alloc+0x10/0x10
Aug 29 06:02:01 192.168.1.47 [38724.528539] compact_zone+0x5c1/0x1060
Aug 29 06:02:01 192.168.1.47 [38724.528542] compact_node+0xa9/0x120
Aug 29 06:02:01 192.168.1.47 [38724.528547] kcompactd+0x343/0x440
Aug 29 06:02:01 192.168.1.47 [38724.528548] ? __pfx_autoremove_wake_function+0x10/0x10
Aug 29 06:02:01 192.168.1.47 [38724.528552] ? __pfx_kcompactd+0x10/0x10
Aug 29 06:02:01 192.168.1.47 [38724.528553] kthread+0xf9/0x240
Aug 29 06:02:01 192.168.1.47 [38724.528555] ? __pfx_kthread+0x10/0x10
Aug 29 06:02:01 192.168.1.47 [38724.528556] ret_from_fork+0x197/0x1d0
Aug 29 06:02:01 192.168.1.47 [38724.528559] ? __pfx_kthread+0x10/0x10
Aug 29 06:02:01 192.168.1.47 [38724.528560] ret_from_fork_asm+0x1a/0x30
Aug 29 06:02:01 192.168.1.47 [38724.528564] </TASK>
Based on this two typical culprits, if it was hardware related (physically or drivers) would be the NVMe or the GPU.
In my experience, if it's one of those, it's almost always the GPU.
edit: This system has been running almost non-stop since February 2023.