The charcoal flavor comes from phenols that leave the charcoal and deposit on the food as its burning. You can certainly do this without the food being directly over the charcoals - smoking food in an offset configuration has been a thing for thousands of years, after all - but doing so in a setting where the food is also being cooked at high heat over a gas flame is going to have a severely reduced effect as the phenols are going to want to follow the flow of hot air up and out of the grill.
To give your biryani a smokey flavor, I would suggest smoking some or all of your components separately at a low temperature prior to assembly (such as the meat and/or rice). You can do this on a gas grill using the method you described: soak charcoal or wood chips, add them to a metal plate, then place them on one side of the grill at low heat. Put your food on the other side of the grill with no flame, and let it passively smoke for an hour or so. Then retrieve the components and assemble and cook as normal.
It's worth noting that, if you do this often, you will need to clean out your grill often as well. The smoke will condense and build up on the inside of your grill which if left to its own devices will reduce the grill's lifespan lifespan and its effectiveness of cooking food normally.
And though it can be a controversial take, there's also nothing wrong with saving yourself the hassle and simply adding some liquid smoke. If you do go this route, look for a brand that sells real liquid smoke (made from smoking wood and condensing/distilling the condensate) rather than brands that sell artificial smoke flavoring, and also watch out for bottles of liquid smoke that include other seasonings that might throw off the profile of your dish.