You're correct. The usual service is that the client-side frames are encapsulated at the network edge within service-side frames which then appear as usual 802.1q frames to other switches within the service provider. A de-encapsulation occurs at the far network edge, and the client-set VLAN tags are presented at the client-facing interface.
Having said this, the "typical" practice of a service provider and your particular service provider's practice may vary, which in this case would be enough reason in this case to choose a more typical service provider. You should ask for a technical service description for any service you buy.
That service description will also list other important parameters, such as how many MAC addresses can be visible to the service, and what happens when that number is exceeded. Practice there varies widely, with "one per client-facing interface" and "shutdown until manually restored" being common for services designed to run between IP routers (eg, connections into LINX), and maybe a few thousand being typical for services designed to run between a central router and a remote office switch.
You want to ensure that the service description allows untagged frames to be passed. I know it would be weird for a service not to do this, but I have come across this case.
Ensure the service provider's service description is be clear about the types of BPDUs which will be transparently transported across the service. You at least want to be able to pass your spanning-tree and LLDP PDUs unaltered. In an ideal service, all BPDUs are passed unaltered between your equipment. The stress-test service here is usually the control BPDUs for supporting MacSec encryption (and you really should think about running MacSec between your service-provider facing interfaces, it's the simplest way to protect yourself from subversion of the service provider's infrastructure; there's even SFPs which will run MacSec internally).