Im not sure but I think you don't have an extra RPC that is being sent for de-attach object.
So you would have to hook RPC SetPlayerAttachedObject - ID: 113
.
That RPC is being used to attach but also delete attached objects.
So maybe hook it, check if it's incoming -> allow first time RPC (use bool maybe to check if it's the first time that RPC is incoming. And if the bool is true (so if it incomes the second time) don't proceed it.
That should work to attach it but not remove attach.
(maybe it's way easier to do but I'm just thinking too complicated lul).