I think it's only consistent. Static assertions should always always always hold (things like type checks etc), if you really want to only evaluate it in that branch you can still do
if constexpr (foo) {
static_assert(!foo || /* assertion */);
} else {
static_assert(foo || /* assertion */);
}
(this gets ugly fast with lots of else-ifs, but it's a workaround - I don't know why you'd ever need it, though)