What could cause Server instantiated ghosts not spawning on Client?

I’m not using thin clients.
It’s a simple Owner Predicted ghost (the only ghost right now).
The ghost prefab is barebone (contains only LinkedEntityGroup Authoring and Ghost Authoring Component)
It was referenced by an authoring GameObjects inside SubScene.
It was instantiated immediately after NetworkStreamInGame was set on server. (Client set NetworkStreamInGame first then RPC to server to set it)

I did make sure the snapshots was sending properly, by checking client world’s connection entity’s Network Snapshot Ack, the Last Receive Timestamp is indeed increasing. Also NetworkTime.InterpolationTick in client world is valid.

The Server & Client world was created manually by ClientServerBootstrap methods. But I did remember to destroy local world first, load the scene (not additively) that contains subscene (with ghost prefabs mentioned before), then create server and client worlds.
Tried reverse it (create server & client world first, then load scene), not working.

This is not my first netcode project. I’ve made a moba demo with it before, and it works fine. So it’s very frustrating right now that I can’t figure out why this simple ghost just not spawning on client at all!

Using entities 1.2.3 on Unity 6000.0.7