A Primal-Dual-Assisted Penalty Approach to Bilevel Optimization with Coupled Constraints