To do DG, nitsches method for enforcing Dirichlet conditions can be used. There is a vast amount of litterature on this (search for nitsches method and weak enforcement of Dirichlet conditions on Google scholar) and the only difference from the other internal interfaces will be that jump(u)=g. This can be restricted in dolfin using Measure and MeshFunction’s. You can for instance see this undocumented dolfin demo: https://bitbucket.org/fenics-project/dolfin/src/master/python/demo/undocumented/dg-poisson/demo_dg-poisson.py
You could also read up on MultiMesh fem, Which imposes g=0 at an interface between two meshes: https://arxiv.org/pdf/1804.06455.pdf
However, as i also mentioned in the previous post, you could use the Mixed dimensional Finite element framework (paper linked to above). Here is a link to examples for that paper: https://zenodo.org/record/3525001#.XuR0feRHklQ