I've seen that too... For the moment I don't think it can be fixed.
When SilverStripe calls the 403 errorpage, a blank page is returned, and that's what's written to the static file in assets as well... It has something to do with the ErrorPage_Controller::init() method setting the error status to 403 for this errorpage - and I somehow guess that it is now forbidden to SilverStripe as well :-)
I suppose what you could do is copy the contents of one of the other error pages in assets, and tweek the html. Then add the custom errorpage to .htaccess...
For now I've copied the code that the 'Page not found' error-404.html file contents into the blank error-403.html file, changed the wording and it now works correctly, i.e. I get the forbidden page displayed within my website design.
I also added the reference in the .../silverstripe/.htaccess file. (ErrorDocument 403 /assets/error-403.html)
Just another thing to remember I've 'fixed' in the future.