Btrfs doesn’t have encryption, so you need to do it with luks to an mdadm raid, and build btrfs on top of that. Luks on mdadm raid is known to be slow, and in general not a great idea.
Why involve mdadm? You can use one btrfs filesystem on a pair of luks volumes with btrfs’s “raid1” (or dup) profile. Both volumes can decrypt with the same key.
Newer than C99? Both the Linux kernel and systemd build with gnu11. I’d call those pretty relevant.
C23 is still far too new (still a draft) for any major projects that care about compiler compatibility.