How to combine event registration fee and sponsorship donation in one price set?
The participant count is only participants for the particular price set field. You're right that no matter what you do in the price set, the contact will be registered for the event. You could instead ignore who is registered for the event and just look at who is registered for the relevant price set field and use that as your group of registered participants. That might be less than ideal.
Otherwise, this sounds like a job for Webform CiviCRM, assuming you're on Drupal. Be warned though, that Webform CiviCRM will force you to use line items to record the donation and registration. I could be wrong, but I don't think Webform will allow you to record two different financial types depending on user selections.