I don't bother with ribbon control much - don't find the defaults to be a problem. However, since you don't seem to be making a whole lot of headway here, I'll make a couple of suggestions.
First, I'd do all form/report property coding in the open event instead of the load event, which comes after the open event. The way I see it is, why not 'set up' the form/report before I try to load data, which may or may not conflict with the object properties I'm trying to set.
Second, seems you were close, but Access decides you want the ribbon on your form after you caused it to display on the report. So reset the ribbon property on the form's Activate event. Since this issue would likely propagate through all your forms, I'd make this a function if it does what you want. Pass the form name to the function which you would create in a standard module.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.