For a purely matching node, periodic problem what I would do would be to change the dofmap such that dofs on one interface is replaced by those ok the other side. This should be doable (especially in serial). You would then create a new FunctionSpace with this dofmap, you would use for assembly, and all commands would be dolfinx commands.
Another interesting option would be to create a continuous topology, But discontinuous geometry.
This would require some more work, but if I find time sometime this spring I might pursue it