I’m afraid I don’t have in-depth knowledge of the inner workings, but the guide above has some tips on what information Discourse needs to be able to Onebox:
And a couple of troubleshooting tips too:
How do they stack up compared to your existing metadata?