Even though there is nothing wrong with doing this you are giving up browser-side caching for a minor temporary convenience. I say temporary because this is definitely not something I would deploy on a larger scale system.
The reason browser-side caching is being given up is because a PHP file is always requested fresh by the browser because it is assumed to have dynamic data.
I would recommend a /assets/js/pages/home.js
layout for your JS files which get conditionally included as an external file because this will be much more scalable in the future:
<?php if ( is_home() ) { ?>
<script src="/assets/js/pages/home.js"></script>
<?php } ?>