Although Dun Dunbar Castle was just a fictional castle created for the movie, there was a Dunbar Castle located in Scotland, but it's no longer in use.
Most of this movie was filmed at the Dalmeny House, both inside and out. It is the home of the Earl and Countess of Rosebery, and was completed in 1817. Tours are conducted in June and July. The Castle for Christmas is not actually a castle, but a Tudor-Gothic revival mansion located in South Queensferry, on the outskirts of Edinburgh, called Dalmeny House.
The actor that plays Angus (Stephen Oswald) is deaf in real life, and was able to learn his lines for the Christmas carol scene through a technique known as oral training.
In order to prepare for her role in the movie, Brooke Shields actually bought a Scottish castle, and was taught how to care for it by the Scottish groundskeeper.
The ruined castle that they pass on their way to the holy well is Tantallon Castle near North Berwick. It is open to the public and is managed by Historic Scotland.
Mark Fleischmann, Suanne Braun: Reprising their roles of Frank De Luca and Mrs. Donatelli from The Princess Switch (2018) and its sequels.