I discovered a method that doesn't need Simulink parameters whatsoever... it was actually such a simple thing, yet I would have never found it by reading online.
If you set a constant block's value field to 0, you can then safely output any bus object data, regardless of if it has mixed types, enums, anything. So instead of this awful roundabout way of outputting buses from a constant via structs manually defined in the model workspace, all I needed was a 0.