I wonder if late-arriving dimensions are so common if the data dependencies are understood correctly? As in, late-arriving facts will happen for lots of reasons (network problems, human problems, etc) but for a fact to record the dimension's key as part of its data suggests that the dimension's key is already known and should therefore be available to the DW system.
Just thinking out loud…