at the time of invocation of the plus method it does not matter what type you statically declared for the types. We always take the runtime types and since null has none really, we take NullObject instead. So this issue is not about BigDecimal#plus, but about NullObject#plus. This method now basically does: "null"+b leading to the "nullnull" you have observed.
We can of course do a special case for null+null, but you actually want a NPE for the cases of any of the operands null, or not? That would break code.
So I kind of tend to close this issue as "Won't Fix".