Please understand that we need to get the facts together about your situation in order to help. Whether caused by a bug in Syncthing, by some external component, or by wrong usage - we need more details to tell it apart and provide advice. Please do provide the screenshots, even redacted, with all relevant details visible. Especially the folder in question expanded, as well as the respective remote device section. And from both sides, clearly labeled which device it’s from.
I’m not sure about what you call local or remote and on which side what unexpected or unwanted behavior shows up. It may all make sense to you, but from your written description, it’s not at all clear to us.
What I think you want to do: Device A is your “local” instance which you usually interact with. Device B is remote, maybe at a friend’s house where you don’t have direct access. You want to use device A solely to control what files device B has, even if your friend accidentally makes some modifications. It’s only about sharing between these two, no other devices involved.
In this scenario, you should better set device A to send-only, but keep device B at the default send & receive. When accidental modifications happen on B, then you will get the button to override them on your side (A) and there’s your desired “just push my versions” function.
Making the remote (B) device receive-only is a measure for that device’s operator to protect others from noticing any local modifications. It’s a conscious mechanism resulting in a “revert” button on their side to pull the unchanged versions from you or anywhere again. But it results in your local side (A) never hearing about the changes.
There is no need for belts and suspenders here, as in combining a send-only and receive-only folder. The send-only on device A makes sure that whatever changes any other device makes are not pulled and applied locally. And it allows to override (push) changes back to the other devices, making the local version current again for all. Without hearing about any changes from B (because it’s receive-only), there will be nothing to block from applying locally and no override button. It’s basically already stopped on the remote end, with them having to act on the unwanted changes.
I hope that clears things up for you. Of course, it might as well be some odd behavior / bug that we haven’t identified yet. In that case, understanding your situation is even more important so we can find the root cause and fix it.