Hi,
You are correct that you cannot stop an App Service Plan to avoid compute charges, however, you can switch to Free SKU. When it is set to Free there are no charges. While this isn't exactly the same as Deallocating a VM or Pausing SQL Serverless, it does offer a way to avoid charges without completely deleting the resource.
In regards to "why" it is this way, there is no official explanation from Microsoft that I've ever seen. A partial reason I can suggest is, unlike Virtual Machines or Azure SQL Serverless SKU, App Services does not charge separately for storage (as those services do).
In addition, there many different ways that Azure services are billed, more than just "bill for compute when running, and don't bill if Deallocated". They decide pricing/billing model for each service based on unique considerations of each.
You could've asked (but didn't), "why doesn't App Service bill separately for HDD or SSD drives in use, like VMs do?" There are a ton of these possible questions if you consider all the different ways that various Azure services are billed.
Please click Accept Answer and upvote if the above was helpful.
Thanks.
-TP