For Linux, I'd probably start here: https://wiki.archlinux.org/title/bluetooth#Troubleshooting
When things break, manually attempting the pairing process with bluetoothctl while logging btmon's output should provide you with important details about what's happening from the OS end.
#[SOLVED] Framework 16 dropping Bluetooth connection for ZMK boards?
1 messages · Page 1 of 1 (latest)
You can get output from ZMK, too—then you'd have some clue about what all involved parties think is going on:
Overview
Your post doesn't mention how you eventually restore the connection between the devices (forget and re-pair?)
Switching to CONFIG_ZMK_BLE_EXPERIMENTAL_FEATURES=y instead of just CONFIG_ZMK_BLE_EXPERIMENTAL_CONN could be an option.