I believe you need to use the subclass method to overwrite this computed descriptor correctly.
import discourseComputed from "discourse-common/utils/decorators";
api.modifyClass("service:composer",
(SuperClass) => class extends SuperClass {
@discourseComputed
allowUpload() {
return super.allowUpload && canUpload;
}
}
);
EDIT:
Made a PR: