The calculated distance (air line) between Dinas Powys and Swansea is approximately 34 miles respectively 55 kilometers.
By car or train, the actual journey to Swansea is certainly longer, as only the direct route (as the crow flies) between Dinas Powys and Swansea has been calculated here.
Air line (approximately)
55 kilometers
29 nautical miles