Finally got round to trying this out, and so far seems to do exactly what we need.
A minor suggestion, could the instance order form show a placeholder for the cost when the plan selection is changed. There is a delay in the script retrieving pricing from an external source.
I can partially overcome it with some custom CSS and HTML but would be good if this was implemented properly within the UI:
Whitelabel CSS override:
span.plan-price:empty::before {
content: 'Calculating cost...';
display: inline-block;
}
And a little bit of Javascript:
<script>
$('#tmp-plan-select').on('change', function() {
$(".plan-price").html("");
});
</script>