Hello,
First of all I want to make a correction to what you wrote: you would dial IDD + country code + 800 ??? ???? (example: calling a toll free number from Vietnam to Canada: 00 + 1 + 800 ??? ????).
Depending on the settings made by a company/individual to their toll free service you may/may be not able to dial it from abroad. However, even if the owner of a toll free number has not blocked incoming international calls, calling this type of number from abroad will not be free. See this page for additional info https://www.howtocallabroad.com/qa/toll-free.html .
As for placing an international collect call without calling the operator – it is possible if you find a provider who offers this. A similar service you may find useful is International Callback. This however requires sign up by the person receiving the calls. Basically you create an account and list the foreign numbers you will be receiving calls from. This way calls from those numbers will be charged on your callback account. Here’s a website offering callback info/services: https://www.unitedworldtelecom.com/
I hope this helps.
Dan