The features have recently started raising "using it is strongly discouraged" warnings. If there's no better alternative, should <Box<str>>::new() or similar be added? It would align with String::new() and Vec::new() which are both const. Or is this workaround adequate until <Box<str>>::default() is callable in a const context?
Transmute is currently only documented as working for Sized types. str is not a sized type, so we are allowed to change the layout of Box<str> to be different from &str. Miri doesn't flag anything regarding layout guarantees. Only if there is currently a layout mismatch.
It would be possible for std to have some sort of const fn new_str() -> Box<str> associated function on Box that doesn't allocate, but I don't know of any tools that std gives you today to safely do this.
Depending on your use case, can you use an Option<Box<str>> instead? You'll be able to initialize that to None at compile time, and it looks like you might already be using empty string as an "uninitialized" state in the code you posted.