The test
Fetch your own pricing page with curl and read what comes back. If there are no prices in it, an agent evaluating you cannot compute what you cost.
This is more common than it sounds. Pricing tables are frequently rendered client side from a config service, which means the numbers exist in an API response rather than in the HTML. A person sees prices. A fetch sees an empty shell.
What to publish
Put the numbers in the server-rendered HTML. If your pricing is genuinely dynamic, render a sensible default server side and let the client refine it.
Then add Product and Offer structured data with the prices and currency. That gives a machine a parseable source rather than a number it has to scrape out of a table cell, and it is the difference between the middle and the top band of this dimension.
Quote-gating is a decision, not an accident
Contact-sales pricing is a legitimate strategy, and this is not an argument against it. It is an argument for knowing what it costs you: an agent asked to compare three vendors and pick one on price cannot include you in the comparison.
If enterprise is quote-gated, publish everything below it, and publish the limits. Total cost that cannot be computed is the same as no price at all.