If I have
secp256k1 keypair that is widely known, like a Bitcoin address, can I convert that into a
Ed25519 key pair such that someone could access a .onion address in a deterministic way?
The bitcoin key could sign a message containing the onion address. There are several other alternatives but there isn't any way to do this without the key holder producing a message of some kind.
No you can't convert them since they are defined over different curves.