Didn't the DP say that he couldn't get anyone to have him though?
So the choices were go to theme park, or take DS to the scan but the hospital doesn't allow children in the actual room so he'd have to wait outside, presumably with DP (not sure of child's age, perhaps he could have sat for 20mins with a book? Perhaps not and DP could have waited with him but still been there to support OP as soon as she'd come out)...
Or, option 3 which seems the obvious. Stop pussyfooting around his ex and putting her schedule out and say "sorry, it's my child's 20 week scan and the hospital won't allow him in or change the date, so for this one occasion, for very good reason, I can't have him, as I didn't miss his 20 week scan, and it's a one time event, I won't be missing this child's one either. I'll take him the next day, or the next, or the next, whatever suits" And that's without even mentioning to the ex that he needed to be there for OP due to potential problems, which have now transpired to be additional problems.
Instead of making a rubbish non issue over whose the child biologically is, it's very simple.
If my DH chose to miss our DC 20 week scan that I needed supporting through so he could take our other child to a theme park?? Or a stepchild. Or a niece, nephew... it's of no relevance. That scan was a one off event. It's huge for particularly a first pregnancy. And he had better things to do.
Absolutely OPs need for support for that unique event far exceeds any child's need to go to a theme park on the same day. If it was a pertinent occasion for DS, that you would prefer not to miss there'd be slightly more balance perhaps. But a day that could be done any other day, Vs a once in a lifetime moment with what's supposed to be his equally important child?
Bet he didn't miss DS 20 week scan. That was important enough.