Hi Anna,
Yes, Exchange Online can show free busy for an on-premises Exchange 2019 user, but not if that user only has a non-routable address like user[at]test.lab. You must use a public, verified SMTP domain and publish Autodiscover and EWS on that domain, then run Hybrid Configuration so OAuth and the org relationships are created. Otherwise Exchange Online has nothing to discover and no trusted path to your VM, so lookups will fail. Microsoft's guidance is to add a routable domain and enable OAuth with HCW for hybrid free busy.
Here is a way to make your demo work.
First, add a public domain you own, for example contoso.com, to both sides. In Microsoft 365, add and verify contoso.com. In on-prem Exchange, add contoso.com as an accepted domain and stamp your on-prem mailbox with an SMTP address on that domain, ideally as the primary SMTP. Also add a matching UPN suffix in Active Directory so the user can have a cloud-routable identity such as anna[at]contoso.com. This step is required when your forest uses a non-routable suffix like .lab or .local.
Second, publish the on-prem endpoints on that same public namespace and use a public CA certificate. You need external DNS for autodiscover.contoso.com and a name for your Exchange virtual directories, for example mail.contoso.com, and your certificate must include those names. The Autodiscover and EWS URLs must be reachable from the internet over TCP 443.
Third, run the latest Hybrid Configuration Wizard from the Exchange Online Admin Center or the HCW bootstrap. Choose a minimal hybrid if you only need coexistence, or full hybrid if you also want secure mail flow and moves. HCW will configure OAuth trust and the required sharing objects such as the IntraOrganizationConnector or Organization Relationship that enable free busy and MailTips between Exchange Online and on-prem.
Fourth, because it is now late 2025, accept the prompt in HCW to create the Dedicated Exchange Hybrid App in Microsoft Entra ID. Microsoft is retiring the legacy shared service principal path for these hybrid features. The dedicated app is now the supported way for free busy and related EWS-based lookups from Exchange Online to your on-premises server. If you skip this, free busy from cloud to on-prem can break.
Finally, test. From an Exchange Online mailbox that knows your on-prem user as anna[at]contoso.com, open the Scheduling Assistant and check availability. If it fails, validate OAuth with Test-OAuthConnectivity against your EWS URL and confirm the IntraOrganizationConnector exists and is enabled. You can also use the Microsoft Remote Connectivity Analyzer to verify your external Autodiscover and EWS are published correctly.
If you would like, tell me the public domain you can use and the external names you want for Autodiscover and EWS, and I will give you the exact DNS and certificate names plus the precise HCW selections to click.