So I use C++ heavily in the kernel. But couldn't you just set your own allocator and a couple other things and achieve the same effect and use the actual C++ STL? In kernel land, at the risk of simplifying, you just implement allocators and deallocators and it "just works", even on c++ 26.

Do you typically just compile with -fno-rtti -fno-exceptions -nostdlib ?

Last time I did embedded work this was basically all that was required.