I'm not sure why this is, but getDataPackage will first try to query the CN and then fallback on the MN, see D1Client:520
Seems to me it would be better if this were reversed. Furthermore, if the query on line 521 fails, it won't even try to query the MN since that line of code will just error.
So, the solution is to replace the logic on line 520 so that the MN is queried, put the query in a try block, and if the try block fails, then try to find it on the CN.