You don't have to use the key "extras" for resource extras, just add whatever arbitrary key-value pairs you want as top-level keys in the resource dict, and they will be converted to resource extras. For example, I think this should work:
resource = {
"package_id": "my-package-id",
"url": "http://google.com",
"name": "Google",
"myextra": "my extra content"
}
At least, I just tried that over the API and it worked, so I think it'll work via the plugins toolkit like you're doing it as well. I guess this feature needs documenting, probably in the resource_create() docstring.
(Note: this does not work for packages, for adding custom fields to packages see the example_idatasetform extension that ships with CKAN.)