Ok, the stuff is actually working properly, but I’d say probably the problem is that all your burgers also touch, and will also fire off overlap events. This small detail I think is the problem in your chain of events.
So, this is pretty easy to deal with, with collision channels. You set it up so the stove can overlap the burger, but nothing else can, not the player, not even other burgers and nothing else you add in later.
Go to your Project Settings → Collision… create a new Object Channel. Call it Burger, if you like, or whatever. Keep Default Response as Block. After this you can go through all the presets and set the appropriate behaviors. For example on the BlockAll preset you want burger to Block, but on Pawn you want it to Ignore. So just go through them and set them up logically what behavior you want.
With this channel created you can now on your burger collision sphere, switch to Custom collision settings and set it up so Object Type is Burger, and in the Responses list set Burger to Ignore. So this will make so burgers will ignore other burgers. Then on the stove trigger box, you can also switch to Custom, keep the default Object Type as is, but in the Responses, set Burger to Overlap. And if you did the presets correctly, burgers should also ignore your pawn already, because your pawn should be using Pawn preset. Just double check it.
So, you don’t need to cast, you don’t need to branch, nothing like that, the objects are essentially “sorted” purely by what they can overlap with, meaning, any overlap event is valid, because it can only overlap correctly. So, no unexpected overlapping events.
Hope this sorts out the problem for you… it should… that’s how I deal with special object collisions in my game and it works out perfectly and does keep things much simpler. If you sort out overlapping at the base, with a channel, then you don’t need to sort things out later, which is always easier to deal with and cheaper to process.