Surface offsetting

My thoughts on the best way to do that would be to use “offsetsrf” set the corners to “sharp” and run the solid option at “no”

run the offset, it should offset without self intersecting. (sharp SHOULD trim the edges for you instead of self intersecting) If so then you explode and connect the inside faces and outside face with loft or blendsrf set to position.

if you try to run it solid it will self intersect in the corners if you are offsetting to the inside.

Not the automagical solution I think you are looking for, but it will get you there…