Custom stages does work in openlp 3, we are using it for lower 3rds words overlay in OBS, but you have to make a couple of changes in your code from v2.
First thing is you have to manually download JQuery.min.js into your custom stage folder as it doesn't seem to be part of the OpenLP installation any more
Then at the top of your stage.html where the js files are included you need to modify the src= so it is just the filename with no path (in v2 this had the path to the custom stage folder)
<head>
<meta charset="utf-8" />
<title>${stage_title}</title>
<link rel="stylesheet" href="stage.css" />
<link rel="shortcut icon" type="image/x-icon" href="/files/images/favicon.ico">
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="stage.js"></script>
</head>