I've found the solution myself for what its worth.
The trick is to change the default backend to a file based backend.
kb <- keyring::backend_file$new()
kb$keyring_create('some_keyring_name')
kb$set(service = 'test', username = 'test', keyring = 'some_keyring_name')
Point to note: file based keyrings are locked with a password and need to be unlocked. Also might be worth setting the default backend to file using the .Renviron
file