There is no way to prevent this happening. What you're seeing is known as 'optimistic locking', and CDS and almost all modern cloud-based applications work this way. What you're asking for is known as 'pessimistic locking'; this was common for traditional client-server applications running on desktops, but is not really viable for cloud-based apps as there is no good way to know if a user is intending to edit a record, nor when they have stopped looking at the record.
You can't change this behaviour, but you can use auditing to identify if 2 users did make simultaneous changes
Actually, it is an known issue with the 'Optimistic Concurrency Lock' within Model-Driven app form (D365 CRM Form). I agree with @DavidJennaway 's thought almost, I afraid that there is no way to fix this issue in PowerApps currently.
As an alternative solution, I think SDK Calls and Web API could achieve your needs. Please check the alternative solution mentioned from @Abhishek Kumar within the following article: