So I guess that exchange is an exception from the usual, looks like they assign addresses and manage funds like a non-custodial wallet, except they are in control of the keys.
It certainly seems that way from what OP is saying, but that is not how they work. They work like every other centralized exchange, and batch customers' funds together for storage and withdrawals. See their post here -
https://blog.shakepay.com/bitcoin-transaction-batching/. And you can also see plenty of posts on their subreddit confirming that withdrawals are indeed batched.
It sounds like Shakepay generates a new address for each deposit, and the Forex broker is sending coins to an old deposit address which is still valid for OP's account, even if he can't see it on his Shakepay account. I'm not sure about the whole "must send to the same address which deposited" thing though, which does not make sense given we know that Shakepay batch their withdrawals.