clean architecture – Passing Domain models from Presentation layer to data layer to make a networking request

So, I have this repository(Interface) in my domain layer

public protocol ProfileRepository {
    func becomeVerifiedDriver(licenseImageName: String, vehicle: Vehicle)-> Single<Void>
}

and this Model.

final public class Vehicle {
    ...
}

I have its implementation in my data layer

final class ProfileRepositoryImpl: ProfileRepository {

    ...

    func becomeVerifiedDriver(licenseImageName: String, vehicle: Vehicle)-> Single<Void> {
        let req = BecomeVerifiedDriverReq(pass in all the data)
        return client.request(ProfileApi.becomeVerifiedDriver(req))
    }
}

and this DTO

final public class BecomeVerifiedDriverReq: Codable {
    ....
}

And finally, this is how I’m calling this code from my presentation layer.

final class DriverVerificationViewModel: MyViewModel {

    private let profileRepository: ProfileRepository
    
    init(profileRepository: ProfileRepository) {
        self.profileRepository = profileRepository
    }

    func getVerified()-> Single<Void> {
        return profileRepository.becomeVerifiedDriver(licenseImageName: "", vehicle: Vehicle())
    }
}

My question

Is this the right way to do things? As I’m using my domain model to pass data from the presentation layer to data layer and using my DTOs just to pass and receive data from my application to my RestFul API??

Any help would be appreciated. Thank you.