Hi Shawn,
When you are on Serverless, you are charged compute for the time the database isn't paused. The database will auto-pause (unless you disabled or changed it) after 1 hour of inactivity by default. If there is any activity, the database resumes for minimum of 1 hour (again, assuming default 1 hour auto-pause).
Considering what I wrote above, was the database active (not paused) during the time when you noticed the higher than expected charges? If yes, then that is likely explanation for the charges. Serverless tier is good option if you only plan to use the database for relatively small amount of time during the month. At a certain amount of usage it makes sense to switch over to a provisioned tier instead.
In addition to compute time (vCore seconds), you are charged for storage. Storage costs accrue regardless of if the database is running or not. Below article explains in more detail how Serverless tier charges are calculated:
https://learn.microsoft.com/en-us/azure/azure-sql/database/serverless-tier-overview
If something is unclear and you would like me to walk through a sample calculation add a comment with the details and I will assist.
Since you are just getting started, have you considered using Free tier?
https://learn.microsoft.com/en-us/azure/azure-sql/database/free-offer?view=azuresql
Please click Accept Answer and upvote if the above is useful.
Thanks.
-TP