1) The server behaviors should be in the plugin, not the page hosting the plugin.
2) Just like with question 1, the recordset 9which is also a server behavior) should be on the plugin page, not the page that hosts the plugin.
3) The styling should be on the plug in page.
4) if the action on the plugin page is set to use the PHP $_SERVER['php_self'] variable, then the action will become the hosting page. this can be important if the page uses a URL variable to dynamically load plugins. in that case, you would need to make sure the action includes any URL variables so that the contact form would be included in the page when it posts.
The concept of plugins is to create pages with specific functionality that then then be applied to multiple pages without having to recreate the functionality. So the plugin page should contain everything it needs, css, recordset, and other server behaviors to function.