Its trivial to check if any brands mentioned in the response before returning it to user, and then ask LLM to adjust response to mention brand who paid for placement instead.
What I described happens in the raw offline model too. Those don't have post-inference heuristics such as those you described, implying the bias is baked in the training data or fine tuning steps.