Boundary setting for the surface charge

I am not sure if this helps, but this discussion:
Help modifying 2D Capacitor example

Tries to clarify how the displacement field behaves at an interface for an insulator (in the absence of any charge).

Adding a fixed charge, which is constant to an interface requires you to pick which side of the interface. If it is a volume charge, add it as an additional dopant to the Poisson equation. If it is a surface charge, then you would need to scale it by \text{SurfaceArea}/\text{NodeVolume}.

The continuous boundary condition would then ensure that the displacement vector follows the appropriate laws.

If the polarization charge is bias dependent, then you would need to track this dependence, perhaps by storing previous solution variables as suggested by @QsChen .